- 集合操作
- 去重:把一个列表变成集合,就自动去重了
- 关系测试:测试两组数据之前的交集、差集、并集等关系
集合:无序
list_1=[1,4,5,7,3,6,7,9] #字符串->集合 list_1=set(list_1) list_2=set([2,6,0,66,22,8,4]) #去重 print(list_1,type(list_1)) >>>{1, 3, 4, 5, 6, 7, 9} <class 'set'> print(list_1,list_2) >>>{1, 3, 4, 5, 6, 7, 9} {0, 2, 66, 4, 6, 8, 22} #交集 print(list_1.intersection(list_2)) >>>{4, 6} print(list_1 & list_2) >>>{4, 6} #并集 print(list_1.union(list_2)) >>>{0, 1, 2, 3, 4, 5, 6, 7, 66, 9, 8, 22} print(list_1 | list_2) >>>{0, 1, 2, 3, 4, 5, 6, 7, 66, 9, 8, 22} #差集 (in list_1 not in list_2) print(list_1.difference(list_2)) >>>{1, 3, 5, 7, 9} print(list_1 -list_2) >>>{1, 3, 5, 7, 9} #子集 list_3=set([1,3,7]) print(list_1.issubset(list_2)) >>>False print(list_3.issubset(list_1)) >>>True print(list_1.issubset(list_3)) >>>False #父集 print(list_1.issuperset(list_3)) >>>True #对称差集 print(list_1.symmetric_difference(list_2)) >>>{0, 1, 2, 66, 3, 5, 7, 8, 9, 22} print(list_1 ^ list_2) >>>{0, 1, 2, 66, 3, 5, 7, 8, 9, 22} #如果有两个集合有一个空交集,返回True list_4=set([5,6,8]) print(list_3.isdisjoint(list_3)) >>>False
- 基本操作
#添加 print(list_1)
>>>{1, 3, 4, 5, 6, 7, 9}
list_1.add(666)
print(list_1)
>>>{1, 3, 4, 5, 6, 7, 9, 666}
#添加多项 print(list_1)
>>>{1, 3, 4, 5, 6, 7, 9, 666} list_1.update([111,222,333]) print(list_1)
>>>{1, 3, 4, 5, 6, 7, 9, 333, 111, 666, 222} #删除 list_1.remove(111) print(list_1)
>>>{1, 3, 4, 5, 6, 7, 9, 333, 666, 222}
#删除,如果成员不存在,不会报错 print(list_1.discard(888))
>>>None #长度 print(len(list_1))
>>>10 #测试集合存在某成员 print(222 in list_1)
>>>True print(111 in list_1)
>>>False