什么是集合
在python中,集合存储的元素是无序的且不能重复,因此可以作为字典的键。
集合有两种不同类型:可变集合和不可变集合。
可变集合可以添加或删除元素,因此所存储的元素不能被哈希;
不可变集合不能添加或删除元素,但元素是可哈希的,可以作为字典的键。
创建集合
# 集合是一个可变的数据类型
# 添加顺序和存储顺序是不一样的
s = {4,5,6,7,8,9,2}
print(s)
结果
添加
添加一个元素
# 添加
s = {4,5,6,7,8,9,2}
s.add(10)
s.add(0)
print(s)
结果
添加多个元素
# 添加多个元素
s = {4,5,6,7,8,9,2}
s.update({3,6,7,8})
print(s)
结果
删除
删除一个元素
pop表示弹出该元素,且能收到弹出的值
# 删除
s = {4,5,6,7,8,9,2}
a = s.pop()
print(s)
print(a)
结果
删除指定元素
s = {4,5,6,7,8,9,2}
# 删除指定的元素
s.remove(9)
print(s)
结果
排序
# 排序
s1 = {2,3,1}
sorted(s1)
print(s1)
s2 = {2,3,4}
结果
并集
# 并集
s1 = {2,3,1}
s2 = {2,3,4}
print('并集:',s1.union(s2))
print('并集:',s1 | s2)
结果
交集
# 交集
s1 = {2,3,1}
s2 = {2,3,4}
print('交集:',s1.intersection(s2))
print('交集:',s1 & s2)
结果
差集
# 差集
s1 = {2,3,1}
s2 = {2,3,4}
## s1和s2的差集 s1中有哪些s2中没有的元素
print('差集:',s1.difference(s2))
print('差集:',s1 -s2)
结果
对等差分:并集- 交集
# 对等差分:并集- 交集
s1 = {2,3,1}
s2 = {2,3,4}
print('对等差分:',s1.symmetric_difference(s2))
print('对等差分:',s1 ^ s2)
结果
子集
s3 = {'westos','redhat','python'}
s4 = {'redhat','westos','linux'}
# s3是否是s4的子集
print(s3.issubset(s4))
# 两个集合是不是不相交
print(s3.isdisjoint(s4))
结果