- 1. 集合
- 1.1 集合特点
- 2. 集合元素的相关操作
- 2.1 新建
- 2.2 判断操作
- 2.3 新增操作
- 2.4 删除操作
- 3 集合间关系
- 3.1 issubset()方法
- 3.2 issuperset()方法
- 3.3 isdisjoint()方法
- 3.4 intersection()方法
- 3.5 union()方法
- 3.6 difference()方法
- 3.7 symmetric_difference()方法
- 4 集合生成式
1. 集合 1.1 集合特点
2. 集合元素的相关操作 2.1 新建集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重
s = set(range(6)
或者
s = {'python','hello'}
2.2 判断操作
- in 或 not in
- 调用add()方法,一次添加一个元素
- 调用update()方法,一次至少添加一个元素
- 调用remove()方法,一次删除一个指定元素,如果指定元素不存在抛出异常KeyError
- 调用discard()方法,一次删除一个指定元素,如果指定元素不存在不会抛出异常
- 调用pop()方法,删除一个随机元素
- 调用clear()方法,清空集合
判断集合集合s2是否是集合s1的子集
s1 = {1, 2, 3, 4}
s2 = {1, 2}
print(s2.issubset(s1))
print(s1.issubset(s2))
结果
True False3.2 issuperset()方法
判断集合是s1是否是s2的超集
s1 = {1, 2, 3, 4}
s2 = {1, 2}
print(s1.issuperset(s2))
结果
True3.3 isdisjoint()方法
判断集合s1和集合s2是否有交集
s1 = {1, 2, 3, 4}
s2 = {1, 2}
s3 = {100}
print(s1.isdisjoint(s2))
print(s1.isdisjoint(s3))
结果
False True
注意:没有交集返回True,存在交集返回False
3.4 intersection()方法取集合s1和集合s2的交集
s1 = {1, 2, 3, 4}
s2 = {1, 2, 6}
# 取交集
print(s1.intersection(s2))
print(s1 & s2)
结果:
{1, 2}
{1, 2}
3.5 union()方法
取集合s1和集合s2的并集
# 取并集
print(s1.union(s2))
print(s1-s2)
结果:
{1, 2, 3, 4, 6}
{1, 2, 3, 4, 6}
3.6 difference()方法
取集合s1和集合s2的差集
# 取差集
print(s1.difference(s2))
print(s1-s2)
结果:
{3, 4}
{3, 4}
3.7 symmetric_difference()方法
取集合s1和集合s2的对称差集
# 对称差集
print(s1.symmetric_difference(s2))
结果:
{3, 4, 6}
4 集合生成式
s3 = {i * i for i in range(10)}
print(s3)
结果:
{0, 1, 64, 4, 36, 9, 16, 49, 81, 25}



