Python学习之路--集合
集合
可变的数据类型,里面的元素不可变,集合无序,不重复
创建
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'}) <class 'frozenset'> # b # a
浙公网安备 33010602011771号