~集合类型定义
集合是多个元素的无序组合,集合元素之间无序,且无法修改,不能存在相同的元素
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
返回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这行代码注释掉,执行结果如下(由于本人分两次执行,部分结果可能不一致,朋友们可以自己实验一下):