定义:
1.不同元素组成,元素不能重复
2.无序
3.集合中的元素必须是不可变类型
创建集合
1 |
|
1.定义可变集合
1 2 3 |
|
2.定义不可变集合
1 2 3 4 5 6 |
|
集合运算
集合之间也可进行数学集合运算(例如:并集、交集等),可用相应的操作符或方法来实现。
子集
子集,为某个集合中一部分的集合,故亦称部分集合。
使用操作符 <
执行子集操作,同样地,也可使用方法 issubset() 完成。
1 2 3 4 5 6 7 8 9 |
|
并集
一组集合的并集是这些集合的所有元素构成的集合,而不包含其他元素。
使用操作符 |
执行并集操作,同样地,也可使用方法 union() 完成。
1 2 3 4 |
|
交集
两个集合 A 和 B 的交集是含有所有既属于 A 又属于 B 的元素,而没有其他元素的集合。
使用 &
操作符执行交集操作,同样地,也可使用方法 intersection() 完成。
1 2 3 4 |
|
差集
A 与 B 的差集是所有属于 A 且不属于 B 的元素构成的集合
使用操作符 -
执行差集操作,同样地,也可使用方法 difference() 完成。
1 2 3 4 |
|
对称差
两个集合的对称差是只属于其中一个集合,而不属于另一个集合的元素组成的集合。
使用 ^
操作符执行差集操作,同样地,也可使用方法 symmetric_difference() 完成。
1 2 3 4 |
|
集合方法
1.add 向集合中添加元素
1 2 3 4 |
|
2.clear 清空集合
1 2 3 4 |
|
3.copy 返回集合的浅拷贝
1 2 3 4 |
|
4.pop 删除并返回任意的集合元素(如果集合为空,会引发 KeyError)
1 2 3 4 5 |
|
5.remove 删除集合中的一个元素(如果元素不存在,会引发 KeyError)
1 2 3 4 |
|
6.discard 删除集合中的一个元素(如果元素不存在,则不执行任何操作)
1 2 3 4 |
|
7.intersection 将两个集合的交集作为一个新集合返回
1 2 3 4 5 6 |
|
8.union 将集合的并集作为一个新集合返回
1 2 3 4 5 6 |
|
9.difference 将两个或多个集合的差集作为一个新集合返回
1 2 3 4 5 6 7 8 9 10 |
|
10. symmetric_difference 将两个集合的对称差作为一个新集合返回(两个集合合并删除相同部分,其余保留)
1 2 3 4 |
|
11.update 用自己和另一个的并集来更新这个集合
1 2 3 4 5 6 7 |
|
12.intersection_update() 用自己和另一个的交集来更新这个集合
1 2 3 4 5 |
|
13.isdisjoint() 如果两个集合有一个空交集,返回 True
1 2 3 4 5 6 7 |
|
14.issubset() 如果另一个集合包含这个集合,返回 True
1 2 3 4 5 6 7 |
|
15.issuperset() 如果这个集合包含另一个集合,返回 True
1 2 3 4 5 6 7 |
|
16.difference_update() 从这个集合中删除另一个集合的所有元素
1 2 3 4 5 6 7 8 9 |
|
17.symmetric_difference_update() 用自己和另一个的对称差来更新这个集合
1 2 3 4 5 6 7 8 9 10 11 12 |
|
集合内置方法
方法 | 描述 |
---|---|
add() | 为集合添加元素 |
clear() | 移除集合中的所有元素 |
copy() | 拷贝一个集合 |
difference() | 返回多个集合的差集 |
difference_update() | 移除集合中的元素,该元素在指定的集合也存在。 |
discard() | 删除集合中指定的元素 |
intersection() | 返回集合的交集 |
intersection_update() | 删除集合中的元素,该元素在指定的集合中不存在。 |
isdisjoint() | 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。 |
issubset() | 判断指定集合是否为该方法参数集合的子集。 |
issuperset() | 判断该方法的参数集合是否为指定集合的子集 |
pop() | 随机移除元素 |
remove() | 移除指定元素 |
symmetric_difference() | 返回两个集合中不重复的元素集合。 |
symmetric_difference_update() | 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。 |
union() | 返回两个集合的并集 |
update() | 给集合添加元素 |
集合与内置函数
下述内置函数通常作用于集合,来执行不同的任务。
函数 | 描述 |
all() | 如果集合中的所有元素都是 True(或者集合为空),则返回 True。 |
any() | 如果集合中的所有元素都是 True,则返回 True;如果集合为空,则返回 False。 |
enumerate() | 返回一个枚举对象,其中包含了集合中所有元素的索引和值(配对)。 |
len() | 返回集合的长度(元素个数) |
max() | 返回集合中的最大项 |
min() | 返回集合中的最小项 |
sorted() | 从集合中的元素返回新的排序列表(不排序集合本身) |
sum() | 返回集合的所有元素之和 |
微信公众号ID:feiutech