集合(set)的本质是许多唯一对象的聚集,且其中的元素是无序的。因此,集合可用于去重。
1、创建空集合
s = set()
2、函数
add() : 添加一个元素;
update() : 一般参数是一个集合,即将字符串、数组、列表、元组等可迭代类型的数据转换成集合,添加到集合中;
remove() : 删除元素,如果不存在,则报错;
discard() : 与remove()类似,不同之处在于移除不存在的元素时,不报错,返回None;
pop() : 弹出第一个元素;
clear() : 清空集合,变成空集合;
>>> s = set(('one','two','three','four','five'))
>>> s
{'two', 'three', 'five', 'four', 'one'}
>>> s.add('six')
>>> s
{'two', 'three', 'five', 'four', 'six', 'one'}
>>> s.update('ABCDE')
>>> s
{'two', 'three', 'five', 'A', 'C', 'four', 'six', 'E', 'D', 'B', 'one'}
>>> s.remove('three')
>>> s
{'two', 'five', 'A', 'C', 'four', 'six', 'E', 'D', 'B', 'one'}
>>> s.remove('three')
Traceback (most recent call last):
File "<pyshell#47>", line 1, in <module>
s.remove('three')
KeyError: 'three'
>>> s.discard('two')
>>> s
{'five', 'A', 'C', 'four', 'six', 'E', 'D', 'B', 'one'}
>>> s.discard('two')
>>> s
{'five', 'A', 'C', 'four', 'six', 'E', 'D', 'B', 'one'}
>>> s.pop()
'five'
>>> s
{'A', 'C', 'four', 'six', 'E', 'D', 'B', 'one'}
>>> s.clear()
>>> s
set()
3、符号操作
集合中不支持 * 和 + 操作
in、not in、==、!=
-(差集) ——> difference()
&(交集) ——> intersection()
|(并集) ——> union()
^(对称差集) : 即两个集合中不同的元素 ——> symmetric_difference()
s1.defference_update(s2) : 删除s1中s2包含的元素;
s1.intersection_update(s2) : 求s1和s2的交集,并赋值给s1;
s1.union_update(s2) : 求s1和s2的并集,并赋值给s1;