3.4 集合
- 集合中元素之间不允许重复
- 集合中只能包含数字、字符串、元组等不可变类型(可哈希)的数据,而不能包含列表、字典、集合等可变类型的数据
3.4.1 集合对象的创建与删除
- set()函数
- 集合推导式(for—in)
- del删除
3.4.2 集合操作与运算
-
add()方法增加新元素
-
update()方法合并另外一个集合中的元素到当前集合中,并自动去重
-
pop()方法随机删除并返回集合中的一个元素(集合为空则异常)
-
remove()方法删除指定元素(不存则异常)
-
discard()方法删除特点元素(不存在则忽略该操作)
-
clear()方法清空集合
-
集合运算——交并补
a_set = set([8,9,10,11,12,13])
b_set = {0,1,2,3,7,8}
print(a_set | b_set)
print(a_set.union(b_set)) #并集
{0, 1, 2, 3, 7, 8, 9, 10, 11, 12, 13}
{0, 1, 2, 3, 7, 8, 9, 10, 11, 12, 13}
print(a_set & b_set)
print(a_set.intersection(b_set)) #交集
{8}
{8}
print(a_set - b_set)
print(a_set.difference(b_set)) #差集(属于a但不属于b)
{9, 10, 11, 12, 13}
{9, 10, 11, 12, 13}
print(a_set ^ b_set)
print(a_set.symmetric_difference(b_set)) #对称差集
{0, 1, 2, 3, 7, 9, 10, 11, 12, 13}
{0, 1, 2, 3, 7, 9, 10, 11, 12, 13}
- issubset()可用来测试是否为子集
- 另外的还有:
- < : 比较集合包含关系,真子集
- <= : 子集