集合
可变的数据类型,里面的元素不可变,集合无序,不重复
创建
set1 = set({1,2,3,})set2 = {1,2,3}print(set1)print(set2){ 1, 2, 3}{ 1, 2, 3}
增加
add()
set1 = { 'rsfs','dfsf','fs'}set1.add('女神')print(set1)#{'女神', 'dfsf', 'fs', 'rsfs'}
update()
set1.update('wd')print(set1)# {'fs', 'rsfs', 'd', 'dfsf', 'w'}
删除
pop()随机删除,有返回值
set1.pop()print(set1)#{'dfsf', 'rsfs'}
remove()按元素删除,删除不存在的元素,会报错
set1.remove('fs')print(set1)#{'dfsf', 'rsfs'}
clear()清空
del 删除
for i in set1: print(i)# rsfs# dfsf# fs
查询
for i in set1: print(i)# rsfs# dfsf# fs
交集计算
& ,intersection
set1 = {1,2,3,4,5}set2 = {4,5,6,7,8}print(set1 & set2)print(set1.intersection(set2))# {4, 5}# {4, 5}
并集计算
| 、union
print(set1 | set2)
print(set1.union(set2))反交集
^ sy
print(set1 ^ set2)print(set1.symmetric_difference(set2))# {1, 2, 3, 6, 7, 8}# {1, 2, 3, 6, 7, 8}
差集
- 、difference
print(set1 - set2)print(set1.difference(set2))# {1, 2, 3}# {1, 2, 3}
子集(<、issubset)和超集(>、issuperset)
set1 = {1,2,3,}set2 = {1,2,3,4}print(set1 < set2)print(set1.issubset(set2))print(set2 > set1)print(set2.issuperset(set1))# True# True# True# True
frozenset 将其转换成不可变类型
s = frozenset('ba')print(s,type(s))for i in s: print(i)# frozenset({'b', 'a'})# b# a