python集合用法_python 集合的使用,案例详解

>>> s = {1, 2, 3, 4, 5, 6}

>>> s.pop()  # pop删除时是无序的随机删除

1

>>> s

{2, 3, 4, 5, 6}

5.remove 删除集合中的一个元素(如果元素不存在,会引发 KeyError)

>>> s = {1, 2, 3, 4, 5, 6}

>>> s.remove(3)

>>> s

{1, 2, 4, 5, 6}

6.discard 删除集合中的一个元素(如果元素不存在,则不执行任何操作)

>>> s = {1, 2, 3, 4, 5, 6}

>>> s.discard("sb")

>>> s

{1, 2, 3, 4, 5, 6}

7.intersection 将两个集合的交集作为一个新集合返回

>>> s = {1, 2, 3, 4, 5, 6}

>>> s2 = {3, 4, 5, 6, 7, 8}

>>> s.intersection(s2)

{3, 4, 5, 6}

>>> s&s2  # 可以达到相同的效果

{3, 4, 5, 6}

8.union 将集合的并集作为一个新集合返回

>>> s = {1, 2, 3, 4, 5, 6}

>>> s2 = {3, 4, 5, 6, 7, 8}

>>> print(s.union(s2))

{1, 2, 3, 4, 5, 6, 7, 8}

>>> print(s|s2) # 用 | 可以达到相同效果

{1, 2, 3, 4, 5, 6, 7, 8}

9.difference 将两个或多个集合的差集作为一个新集合返回

>>> s = {1, 2, 3, 4, 5, 6}

>>> s2 = {3, 4, 5, 6, 7, 8}

>>> print("差集:",s.difference(s2)) # 去除s和s2中相同元素,删除s2 保留s中剩余元素

差集: {1, 2}

>>> print("差集:",s2.difference(s))  # 去除s和s2中相同元素,删除s2 保留s2中剩余元素

差集: {8, 7}

>>> print("差集:",s - s2) # 符号 - 可以达到相同结果

差集: {1, 2}

>>> print("差集:",s2 - s) # 符号 - 可以达到相同结果

差集: {8, 7}

10. symmetric_difference 将两个集合的对称差作为一个新集合返回(两个集合合并删除相同部分,其余保留)

>>> s = {1, 2, 3, 4, 5, 6}

>>> s2 = {3, 4, 5, 6, 7, 8}

>>> s.symmetric_difference(s2)

{1, 2, 7, 8}

11.update 用自己和另一个的并集来更新这个集合

>>> s = {'p', 'y'}

>>> s.update(['t', 'h', 'o', 'n']) # 添加多个元素

>>> s

{'p', 't', 'o', 'y', 'h', 'n'}

>>> s.update(['H', 'e'], {'l', 'l', 'o'}) # 添加列表和集合

>>> s

{'p', 'H', 't', 'l', 'o', 'y', 'e', 'h', 'n'}

12.intersection_update()  用自己和另一个的交集来更新这个集合

>>> s = {'a', 'b', 'c', 'd', 'q'}

>>> s2 = {'c', 'd', 'e', 'f'}

>>> s.intersection_update(s2) # 相当于s = s - s2

>>> s

{'c', 'd'}

13.isdisjoint()  如果两个集合有一个空交集,返回 True

>>> s = {1, 2}

>>> s1 = {3, 4}

>>> s2 = {2, 3}

>>> s.isdisjoint(s1)

True # s 和 s1 两个集合的交集为空返回 True

>>> s.isdisjoint(s2)

False # s 和 s2 两个集合的交集为 2 不是空 所有返回False

14.issubset() 如果另一个集合包含这个集合,返回 True

>>> s = {1, 2, 3}

>>> s1 = {1, 2, 3, 4}

>>> s2 = {2, 3}

>>> s.issubset(s1)

True # 因为 s1 集合 包含 s 集合

>>> s.issubset(s2)

False # s2 集合 不包含 s 集合

15.issuperset()  如果这个集合包含另一个集合,返回 True

>>> s = {1, 2, 3}

>>> s1 = {1, 2, 3, 4}

>>> s2 = {2, 3}

>>> s.issuperset(s1)

False # s 集合不包含 s1 集合

>>> s.issuperset(s2)

True # s 集合包含 s2 集合

16.difference_update() 从这个集合中删除另一个集合的所有元素

>>> s = {1, 2, 3}

>>> s1 = {1, 2, 3, 4}

>>> s2 = {2, 3}

>>> s.difference_update(s2)

>>> s

{1} # s2中的2,3 s集合中也有2,3 所以保留1

>>> s1.difference_update(s2)

>>> s1

{1, 4}

17.symmetric_difference_update() 用自己和另一个的对称差来更新这个集合

>>> s = {1, 2, 3}

>>> s1 = {1, 2, 3, 4}

>>> s2 = {2, 3}

>>> s1.symmetric_difference_update(s)

>>> s1

{4}

>>> s1.symmetric_difference_update(s2)

>>> s1

{2, 3, 4}

>>> s.symmetric_difference_update(s2)

>>> s

{1}

集合与内置函数

下述内置函数通常作用于集合,来执行不同的任务。

函数

描述

all()

如果集合中的所有元素都是 True(或者集合为空),则返回 True。

any()

如果集合中的所有元素都是 True,则返回 True;如果集合为空,则返回 False。

enumerate()

返回一个枚举对象,其中包含了集合中所有元素的索引和值(配对)。

len()

返回集合的长度(元素个数)

max()

返回集合中的最大项

min()

返回集合中的最小项

sorted()

从集合中的元素返回新的排序列表(不排序集合本身)

sum()

返回集合的所有元素之和

你可能感兴趣的:(python集合用法)