Python-Day 3-集合
这篇主要记录学习集合的心得。
一、概念
集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
parame = {value01,value02,...} #方法1
set(value) #方法2
集合去重
>>> name1=[1,3,4,5,6,72,4,]
>>> name1=set(name1)
>>> print(name1)
{1, 3, 4, 5, 6, 72}er
二、集合运算
1、交集(intersection())或者(&)
>>> name2=[3,4,5,6,7,3,6]
>>> name2=set(name2)
>>> name1.intersection(name2)
{3, 4, 5, 6}
>>> name1&name2
{3, 4, 5, 6}
2 、并集(union())或者(|)
>>> name1.union(name2)
{1, 3, 4, 5, 6, 7, 72}
>>> name1|name2
{1, 3, 4, 5, 6, 7, 72}
3、差集(difference())或者(-)
>>> name1.difference(name2)
{72, 1}
>>> name1-name2
{72, 1}
4 、对称差集(symmetric_difference())或者(^)
>>> name1.symmetric_difference(name2)
{1, 7, 72}
>>> name1^name2
{1, 7, 72}
5、是否是子集issubset()或者(<=)
>>> name1.issubset(name2) False >>> name1<=name2 False
6、是否是父集n或者(>=)
>>> name1.issuperset(name2) False >>> name1>=name2 False
7、sdisjoint()
判断两个集合是否有交集,没有交集,则返回True
>>> name3=[3,6] >>> name3=set(name3) >>> name2.isdisjoint(name3) False >>> name3.isdisjoint(name2) False >>> name4=[100] >>> name4=set(name4) >>> name1.isdisjoint(name4) True
三、基本操作
1、添加(add())
>>> name4=[100]
>>> name4=set(name4)
>>> name4.add(100)#添加已存在,不报错
>>> name4
{100}
>>> name4.add(99) #添加不存在,添加一个新的数值
>>> name4
{99, 100}
2、添加多项(update())
>>> name4.update([98,97,95])
>>> name4
{97, 98, 99, 100, 95}
3、删除(remove(),pop(),discard())
3.1 remove()
用remove删除时,当元素不存在,会报错
>>> name4.remove(100) ##删除不存在的元素,会报错
>>> name4
{97, 98, 99, 95}
>>> name4.remove(55)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 55
3.2 pop()
pop是随机删除集合中的某个元素,并且打印
>>> name4.pop() 97
3.3 discard()
用discard删除不存在的元素,不会出现报错
>>> name4
{97, 98, 99, 100, 95}
>>> name4.discard(9)
>>> name4.discard(99)
4、长度(len())
>>> name4
{98, 95}
>>> len(name4)
2
5、x in s和x not in s
x in s 测试 x 是否是 s 的成员
>>> name4
{98, 95}
>>> 100 in name4 #测试 x 是否是 s 的成员
False
>>> 98 in name4
True
x not in s:测试 x 是否不是 s 的成员
>>> 99 not in name4 True >>> 98 not in name4 False

浙公网安备 33010602011771号