首页 > 代码库 > Python集合

Python集合

集合(set):把不同的元素组成一起形成集合。形式用{}来表示,排列是无序的,其中的元素不会重复,元素必须是可哈希的(不可变)。

集合的作用:

  • 去重,把一个列表变成集合,就自动去重了
  • 关系测试,测试两组数据之前的交集、差集、并集等关系

集合的创建

  可以通过set(可变集合)和frozenset(不可变集合)创建集合,或者用{}中添加元素来创建。注意:要创建空集合只能使用set,不能使用{}。

  可以通过for循环来打印集合中的元素。

更新集合

s.add()      增加一项元素,其中为字符串时也是一项

s.update()   添加多项元素,其中为字符串时,字符串的每一个字符作为一个元素添加

s.remove()   移除元素

s.pop()              随机删除一个元素

s.clear()       清空集合

del s      删除集合

集合类型操作符

in , not in       判断元素在不在集合中

==, !=       判断集合是否相同

s.issubset()   ,  s <= t      测试是否s中的每一个元素都在t中

s.union(t)      ,  s | t        返回一个新的set包含s和t中的每一个元素

s.intersection(t)    , s  &  t       返回一个新的set包含s和t中的公共元素

s.difference(t)      ,  s - t        返回一个新的set包含s中有但是t中没有的元素

s.symmetric_difference(t)    ,  s ^ t   返回一个新的set包含s和t中不重复的元素

 1 a = {1, 2, 3, 4, 5} 2 b = {3, 4, 5, 6, 7, 8, sd} 3  4 print(a <= b) 5 print(a == b) 6  7 print(a & b) 8 print(a.intersection(b)) 9 10 print(a | b)11 print(a.union(b))12 13 print(a.difference(b))14 print(b.difference(a))15 print(a - b)16 print(b - a)17 18 print(a.symmetric_difference(b))19 print(a ^ b)

输出

 1 False 2 False 3 {3, 4, 5} 4 {3, 4, 5} 5 {1, 2, 3, 4, 5, 6, sd, 8, 7} 6 {1, 2, 3, 4, 5, 6, sd, 8, 7} 7 {1, 2} 8 {8, sd, 6, 7} 9 {1, 2}10 {8, sd, 6, 7}11 {1, 2, 6, sd, 8, 7}12 {1, 2, 6, sd, 8, 7}

 

Python集合