1集合是一个无序的,不重复的数据组合,它的主要作用如下(set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key):
去重,把一个列表变成集合,就自动去重了
关系测试,测试两组数据之前的交集、差集、并集等关系
2(去重)
1 # -*- coding:utf-8 -*- 2 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)} 3 print(type(s)) 4 print(s)
输出结果:
1 <class 'set'> 2 {1, 2, 3, 4, 5, 'tin', 12, ('tj', 120)}
(关系测试)
交集:
1 # -*- coding:utf-8 -*- 2 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)} 3 s2={123,23,4,5,6,7,8,} 4 #交集,把相同的元素取出来 5 print(s2.intersecti(s)) #或 print(s2 & s)
输出结果:
{4, 5}
并集
1 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)} 2 s2={123,23,4,5,6,7,8,} #并集 3 print(s2.union(s)) #或 print(s2 | s)
输出结果:
{1, 2, 3, 4, 5, 6, 7, 8, ('tj', 120), 12, 'tin', 23, 123}
差集
1 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)} 2 s2={123,23,4,5,6,7,8,} #差集 3 print(s2.difference(s)) # 或 print(s2-s)
输出结果:
1 {6, 7, 8, 23, 123}
对称差集
1 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)} 2 s2={123,23,4,5,6,7,8,} 3 print(s2.symmetric_difference(s)) #或 print(s2 ^ s)
输入结果:
{1, 2, 3, 6, 7, 8, 12, 'tin', 23, ('tj', 120), 123}
随机删除元素:
1 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)} 2 s2={123,23,4,5,6,7,8,} 3 print(s2.pop()) #pop 随机删除元素
输出结果:4
删除元素(可以任意删除一项):
1 s2={123,23,4,5,6,7,8,} 2 s.remove(2) 3 print(s)
输出结果:
{1, 3, 4, 5, 'tin', 12, ('tj', 120)}
父集:
1 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)} 2 s2={123,23,4,5,6,7,8,} 3 s.remove(2) 4 print(s) 5 print(s2.issuperset(s))
输出结果:
1 {1, 3, 4, 5, 12, ('tj', 120), 'tin'} 2 False
子集:
1 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)} 2 s2={123,23,4,5,6,7,8,} 3 s.remove(2) 4 print(s) 5 print(s2.issubset(s))
输出结果:
1 {1, 3, 4, 5, 'tin', 12, ('tj', 120)} 2 False
对称并集:
1 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)} 2 s2={123,23,4,5,6,7,8,} 3 s.remove(2) 4 print(s) 5 s2.difference_update(s) 6 print(s2)
输出结果:
1 {'tin', 1, 3, 4, 5, ('tj', 120), 12} 2 {6, 7, 8, 23, 123}
添加元素:
1 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)} 2 s2={123,23,4,5,6,7,8,} 3 s2.add(18) 4 print(s2) 5 s.add(21) 6 print(s)
输出结果:
1 {4, 5, 6, 7, 8, 18, 23, 123} 2 {('tj', 120), 1, 2, 3, 4, 5, 12, 'tin', 21}
合并多项元素:
1 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)} 2 s2={123,23,4,5,6,7,8,} 3 s.update(s2) 4 print(s)
输出结果:
{1, 2, 3, 4, 5, 6, 7, 8, 12, 23, 'tin', 123, ('tj', 120)}