Python Set 集合
1.集合的创建(去重)
a=set('hello') print(a) #{'h','e','l','o'}
如果存在重复的,只保留一个,可以与列表互相转换(仅限于不可变类型)
b=list(a) #['h','e','l','o'] a=set(b) #{'h','e','l','o'} #不可互转 c=[[1,2],1,2] d=set(c) #报错,不可转换由于存在不可变的类型
集合是无序的,不重复的,可变的
2.访问元素
集合是无序的,不能通过切片和索引来访问集合,只能通过循环遍历或使用in,not in来访问或者判断元素是否在集合里面
2.1判断
s1=set('alvin') print('a' in s1) # True print('b' in sa) # False
2.2取值
for i in s1: print(i)
3.更改集合
s1=set('alvin')
3.1添加单个元素
s1.add('u') #s1={'a','l','v','i','n','u'}
3.2添加多个元素
s1.update('ops') #s1={'a','l','v','i','n','u','o','p','s'}
如果添加不同类型的,需要放在一个容器中作为一个整体来添加
s1.update([123,'e']) #s1={'a','l','v','i','n','u','e',123}
4.删除元素
s1.remove('a') 删除元素内容 s1.pop() 随机删除元素 s1.clear() 清空元素 #s1=set{} del s1 #对象被删除
5.操作符
5.1相等
print(set('hahaha')==set('hahahahhahahaha')) #True
5.2子集
set('ha')<set('halo') 必须为包含关系且不相等,python中相等不看作包含 a=set([1,2,3,4,5]) b=set([4,5,6,7,8])
5.3 交集
a.intersection(b) #{4,5} a & b
5.4 并集
a.union(b) #{1,2,3,4,5,6,7,8} a | b
5.5差集
a.difference(b)#{1,2,3} a - b
5.6对称差集/反向交集
a.symmetric_difference(b) #{1,2,3,6,7,8} a ^ b
5.7超集
a.issuperset(b) #False a是否包含b a.issubset(b) #False a是否是b的子集
浙公网安备 33010602011771号