元组

元组类型是较为常见的一种序列,属于不可变的类型,即一旦创建就不允许修改其元素的值

  • 元组的创建
  1. 使用()创建列表
()			# 创建一个空元组
1,			# 由逗号结尾表示元组
(1, )		# 单个元素的元组
(1, 2, 3)	# 包含多个元素的元组
  1. 使用tuple()创建元组,或将字符串、列表等转换为元组
tuple()					# 创建一个空元组
tuple([1, 2, 4])		# 将列表转换为元组
tuple('python') 		# 将字符串转换为元组

元组类型在表达固定数据、函数多返回值以及多变量同步赋值和循环遍历等情况十分有用。
例如,我们在表达固定数据,其实就是冻结列表,我们用tuple()函数将列表转换为元组实现


字典

在编程中,通过 “键” 查找 “值” 的过程成为映射。字典是典型的映射,其中存放的是多个键值对。

字典是无序可变序列,字典中各元素以逗号进行分割,字典中的 “键” 不允许重复,“值” 是可以重复的。

  • 字典的创建
  1. 使用{}创建字典
    a_dict = {'name': '小明', 'age': 18}b_dict = {'a': 1, 'b': 2, 'c': 3}
  2. 使用dict()创建字典
    d1 = dict() ----创建一个空字典
    d2 = dict(name = '小明', age = 18)
  • 字典元素的读取
    a_dict = dict(name='小明', age=18)
  1. 下标法
a_dict['name']	# 通过'name'键访问'小明'
a_dict['tel']	# 指定的键不存在,返回异常
  1. get()方法
    比较推荐也是比较安全的字典元素访问方式是字典对象的get()方法,使用get()方法可以获取指定的“键”对应的“值”,并且当访问的键不存在时不会出现keyerror异常,而是返回None
a_dict.get('name')	# 通过get()访问'小明'
a_dict('tel')		# 指定的键不存在,返回None
  1. items()方法
for key,value in a_dict.items():
	print(key,value)			# 通过for循环遍历字典的键和值
  • 字典元素的添加和修改
  1. 字典元素的添加
    a_dict = dict(name='小明', age=18) (1)通过下标添加字典元素
    a_dict['tel'] = '12345678' (2)通过update()方法添加字典元素
    a_dict.update(['a': 1, 'b': 2, 'c': 3])
  2. 字典元素的修改
a_dict = dict(name='小明', age=18)
a_dict['name'] = '小丽'			# 通过下标修改字典元素
  1. 字典元素的删除
    使用del命令删除字典中指定的键,也可以使用pop()方法删除并返回指定键的元素,也可以通过popitem()方法删除并返回字典中的随机元素(之所以时随机元素那是因为字典本无序,无所谓第一,第二)。

集合

集合是指具有某种特定性质的对象汇总而成的集体,其中构建集合的这些对象成为该集合的元素。
集合是无序可变的序列,集合中的元素不可重复,元素类型只能是固定数据类型,如整数、浮点数、字符串、元组等,不能是列表、字典和集合等不可变数据类型。

  • 集合的创建
  1. 使用{}创建集合
    a_set = {10, 20, 30, 40}b_set = {'name', 18, 3.14, (10, 20)}
  2. 使用set()创建集合
    s1 = set()创建一个空集合
    s2 = set('Python')输出s2 ==> {‘o’, ‘n’, ‘P’, ‘h’, ‘t’, ‘y’}
    空集合只可以用set()方法创建,如果用{}默认为字典类型
    集合中的元素是无序的
  • 集合的常见操作

常见操作方法

说明

S.add(x)

如果数据项 x 不在集合S中,将 x 添加到 S

S.update(T)

合并集合 T 中的元素到当前集合 S 中,并自动去除重复元素

S.pop()

随机删除并返回集合中的一个元素,如果集合为空则抛出异常

S.remove(x)

如果 x 在集合 S 中,移除该元素;如果 x 不存在则抛出异常

S.discard(x)

如果 x 在集合 S 中,移除该元素;如果 x 不存在不报错

S.clear()

清空集合

内置函数len()、max()、min()、sum()等也适用于集合

a_set = {10, 20, 30, 40}
len(a_set)		# 计算集合的长度
max(a_set)		# 计算集合最大值
min(a_set)		# 计算集合最小值
sum(a_set)		# 对集合内所有元素求和
  • 集合的运算

操作符

描述

S & T

交集,返回一个新集合,包括同时在集合 ST 中的元素

S | T

并集,返回一个新集合,包括集合 ST 中的所有元素

S - T

差集,返回一个新集合,包括在集合 S 中但不在集合 T 中的元素

S ^ T

补集,返回一个新集合,包括集合 ST 中的元素,但不包括同时在集合 ST 中的元素

S <= T

如果 ST 相同或 ST 的子集,返回 True,否则返回 False,可以用 S < T 判断 S 是否是 T 的真子集

S >= T

如果 ST 相同或 ST 的超集,返回 True,否则返回 False,可以用 S > T 判断 S 是否是 T 的真超集