a = {1,2,3,4,5,6} # 如果是空集,那么必须写成 set() 的形式
a.pop() # because set is unordered collection ,will remove 1
a # 返回结果:set([2,3,4,5,6])
a.discard(5) # 返回结果:set([2,3,4,6])
a.clear() # remove all elements
a # 返回结果:set([])
a.remove(x) # remove element x from the set. if x not in set, will raise KeyError
a.add(2) # will add element to the set
a # 返回结果:set([2])
b = a.copy() # 浅拷贝,修改b集合,a集合不变。
frozenset(range(10)) # frozenset({0, 1, 2, 3, 4, 5, 6, 7, 8, 9})
|,&,-,^ # 集合间的或,与,差集,亦或运算。
|=, &=,-=,^= # 集合间的运算结果赋值给第一个集合。
{i.upper() for i in a} # set(['ZHAOJUNWEI', 'ZHANGLINPENG', 'FENGXIAOTING'])
image.png
集合特点:
- 集合里的元素必须是可散列的。
- 集合很消耗内存。
- 可以很高效地判断元素是否存在于某个集合。
- 元素的次序取决于被添加到集合里的次序。
- 往集合里添加元素,可能会改变集合里已有元素的次序