python里面的集合类型及操作
~集合类型定义
集合是多个元素的无序组合,集合元素之间无序,且无法修改,不能存在相同的元素
A={"pypy123456",456,"fgh"}
B={"p",123,"p",123}
C=set("pypy12345")
print(A)
print(B)
print(C)
输出结果:

这体现了建立集合类型的方式为{}或set().
~集合操作符
这个和数学中的类似:就是并差交补
|
操作符及应用 |
描述 |
|
S|=T |
并,更新集合S,包括在集合S和T中的所有元素 |
|
S-=T |
差,更新集合S,包括在集合但是不在T中的元素 |
|
S&=T |
交,更新集合S,包括同时在集合S和T中的元素 |
|
S^=T |
补,更新集合S,包括集合S和T中的非相同元素 |
|
S|T |
并,返回一个新集合,包含S和T中的所有元素 |
|
S-T |
差,返回一个新集合,包含在S但不在T中的元素 |
|
S&T |
交,返回一个新集合,包括同时在S和T中的元素 |
|
S^T |
补,返回一个新集合,包括在S和T中的非相同元素 |
|
S>=T或S>T |
返回True/False,判断S和T之间的包含关系 |
|
S<=T或S<T |
返回True/False,判断S和T之间的包含关系 |
~集合处理方法
A={"pypy123456",456,"fgh"}
B={"p",123,"p",123}
C=set("pypy12345")
print(A)
print(B)
print(C)
A.add("mimi")
print(A)
A.discard(456)
print(A)
A.remove(456)
print(A)
C.clear()
print(B.pop())
print(len(A))
print(123 in B)
上面这段代码,进行了几种集合处理方法的说明,也就是:.add(a) .discard(a) .remove(a) .clear() .pop() len() in等方法的说明。下面是执行结果

上面看出来了,这个结果出错了,这就是在说明一个问题:我们移除集合中的元素的时候,必须得明白:A.discard(x) A.remove(x) 两个方法的区别,第一个如果x不在A中,是不报错的,第二个是会报错的。
然后我们将.remove这行代码注释掉,执行结果如下(由于本人分两次执行,部分结果可能不一致,朋友们可以自己实验一下):


浙公网安备 33010602011771号