元组
元组类型是较为常见的一种序列,属于不可变的类型,即一旦创建就不允许修改其元素的值
- 元组的创建
- 使用()创建列表
() # 创建一个空元组
1, # 由逗号结尾表示元组
(1, ) # 单个元素的元组
(1, 2, 3) # 包含多个元素的元组
- 使用tuple()创建元组,或将字符串、列表等转换为元组
tuple() # 创建一个空元组
tuple([1, 2, 4]) # 将列表转换为元组
tuple('python') # 将字符串转换为元组
元组类型在表达固定数据、函数多返回值以及多变量同步赋值和循环遍历等情况十分有用。
例如,我们在表达固定数据,其实就是冻结列表,我们用tuple()函数将列表转换为元组实现
字典
在编程中,通过 “键” 查找 “值” 的过程成为映射。字典是典型的映射,其中存放的是多个键值对。
字典是无序可变序列,字典中各元素以逗号进行分割,字典中的 “键” 不允许重复,“值” 是可以重复的。
- 字典的创建
- 使用{}创建字典
a_dict = {'name': '小明', 'age': 18}
b_dict = {'a': 1, 'b': 2, 'c': 3}
- 使用dict()创建字典
d1 = dict()
----创建一个空字典d2 = dict(name = '小明', age = 18)
- 字典元素的读取
a_dict = dict(name='小明', age=18)
- 下标法
a_dict['name'] # 通过'name'键访问'小明'
a_dict['tel'] # 指定的键不存在,返回异常
- get()方法
比较推荐也是比较安全的字典元素访问方式是字典对象的get()方法,使用get()方法可以获取指定的“键”对应的“值”,并且当访问的键不存在时不会出现keyerror异常,而是返回None
a_dict.get('name') # 通过get()访问'小明'
a_dict('tel') # 指定的键不存在,返回None
- items()方法
for key,value in a_dict.items():
print(key,value) # 通过for循环遍历字典的键和值
- 字典元素的添加和修改
- 字典元素的添加
a_dict = dict(name='小明', age=18)
(1)通过下标添加字典元素a_dict['tel'] = '12345678'
(2)通过update()方法添加字典元素a_dict.update(['a': 1, 'b': 2, 'c': 3])
- 字典元素的修改
a_dict = dict(name='小明', age=18)
a_dict['name'] = '小丽' # 通过下标修改字典元素
- 字典元素的删除
使用del命令删除字典中指定的键,也可以使用pop()方法删除并返回指定键的元素,也可以通过popitem()方法删除并返回字典中的随机元素(之所以时随机元素那是因为字典本无序,无所谓第一,第二)。
集合
集合是指具有某种特定性质的对象汇总而成的集体,其中构建集合的这些对象成为该集合的元素。
集合是无序可变的序列,集合中的元素不可重复,元素类型只能是固定数据类型,如整数、浮点数、字符串、元组等,不能是列表、字典和集合等不可变数据类型。
- 集合的创建
- 使用{}创建集合
a_set = {10, 20, 30, 40}
b_set = {'name', 18, 3.14, (10, 20)}
- 使用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 | 交集,返回一个新集合,包括同时在集合 S 和 T 中的元素 |
S | T | 并集,返回一个新集合,包括集合 S 和 T 中的所有元素 |
S - T | 差集,返回一个新集合,包括在集合 S 中但不在集合 T 中的元素 |
S ^ T | 补集,返回一个新集合,包括集合 S 和 T 中的元素,但不包括同时在集合 S 和 T 中的元素 |
S <= T | 如果 S 与 T 相同或 S 是 T 的子集,返回 True,否则返回 False,可以用 S < T 判断 S 是否是 T 的真子集 |
S >= T | 如果 S 与 T 相同或 S 是 T 的超集,返回 True,否则返回 False,可以用 S > T 判断 S 是否是 T 的真超集 |