set的概念有点类似于hash表,它是一个无序但不重复的元素集合。而列表、元祖和字典数据都是可以重复的。
set可以方便的进行求交、差、对称差、并集等计算和比对,这在其他序列操作中则比较复杂。
如图,通过set命令就建立了一个set集合:
定义了set,我们就可以进行以下操作:
- 添加一个元素,如图,添加一个元素7
- 一次添加多个元素,如图,添加了7,9,11
- 删除一个元素,如图,将a中的5去掉
- 求set的长度,如图,求出长度为6
- 查看某个值是不是另一个set的元素,或不是另一个set的成员。
- 查看一个set集的所有元素是否在另一个set集中,如图,
- 求交,如图,2个set的交集为{1,3}。
- set可以去重,如图,将重复的1,2,3,4数字自动去掉。
- 求差,如图,b-a = {9,10,7}
对称差:b^a , symmetric_difference 去掉了2者都有的元素(与求交相反)。
同步差
求交
- 求合并union, 如图,b|a,去掉重复的元素,合并为一个set
- 求一个set是否在另外一个set中,如图,c,d集合在b中。
- 将一个字符串进行set转换,如图
- set的copy为浅拷贝,如图
- pop用来删除set中的一个不确定元素,并且返回它,如图
- 清空set,如图
时间: 2024-10-12 08:31:33