python 集合set

Posted Guo磊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 集合set相关的知识,希望对你有一定的参考价值。

集合是一个无序的,不重复的数据组合
主要可以进行去除重复元素,但是是无序的,另外用于关系测试,比如交集、并集等。
#去重
list1 = set(list1)#关系测试
#交集(两个列表里面都有的值):
list1.intersection(list2)

#并集(把两个列别合并起来,然后去重):
list1.union(list2)

#差集(把list1里面有的而list2里面没有的取出来):
list1.difference(list2)
#对称差集(两个列表里面,互相没有的取出来,也就是只去掉那些互相都有的值)
list1.symmetric_difference(list2)

#子集(判断list1是否包含了list2里面的所有值)
list2.issubset(list1)
#父集(判断list1是否为list2的父集)
list1.issuperset(list2)

#无交集(判断list1和list2是否完全没有任何交集)
list1.isdisjoint(list2)

a = t | s          # t 和 s的并集

b = t & s # t 和 s的交集

c = t – s # 求差集(项在t中,但不在s中)

d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)

添加和更新

t.add(‘a‘) # 添加一项

s.update([10,20,30]) # 在s中添加多项
使用remove()可以删除一项:

t.remove(‘H‘) #有就删除,没有就报错
t.pop() #随机弹出一个
t.discard(‘H‘) #有就删除,没有也不会报错

len(s)
set 的长度

x in s
测试 x 是否是 s 的成员

x not in s
测试 x 是否不是 s 的成员

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

s.issuperset(t)
s >= t
测试是否 t 中的每一个元素都在 s 中

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 中不重复的元素

s.copy()
返回 set “s”的一个浅复制









































































以上是关于python 集合set的主要内容,如果未能解决你的问题,请参考以下文章

python-列表list- 元组(tuple)- 集合(set)-字典(dict)-实例代码

Python集合(set)的操作方法汇总(约20种操作方法),并附示例代码

Python数据类型-集合(set)

python中的set集合

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段