目录
一、性质
>>> s1 = {1,2,3}
>>> type(s1)
<class 'set'>
集合可以看做只有key的字典
1.无序
2.集合元素必须是可hash的,天生去重、
3.可变数据类型
>>> s2 = set([1,2,2,3,4,5,6])
>>> s2
{1, 2, 3, 4, 5, 6}
>>> s2 = {1,[2,3]}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
二、集合的操作
1.添加
1.1 add
只能添加一项
>>> s1
{1, 2, 3}
>>> s1.add(4)
>>> s1
{1, 2, 3, 4}
1.2 update
可添加多项,必须要传入可迭代对象
>>> s1.update(['a','b'])
>>> s1
{1, 2, 3, 4, 'a', 'b'}
2.删除
2.1 remove
删除指定元素
如果指定元素按不存在,就会报错
>>> s1
{1, 2, 3, 4, 'a', 'b'}
>>> s1.remove("a")
>>> s1
{1, 2, 3, 4, 'b'}
>>> s1.remove("v")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'v'
2.2 discard
删除指定元素
如果指定元素按不存在,不会报错
>>> s1
{1, 2, 3, 4, 'b'}
>>> s1.discard(1)
>>> s1
{2, 3, 4, 'b'}
>>> s1.discard(7)
三、集合的运算
>>> s1 = {1,2,3}
>>> s2 = {2,3,4}
1.并集
>>> s1 | s2
{1, 2, 3, 4}
2.交集
>>> s1 & s2
{2, 3}
3.差集
>>> s1 - s2
{1}
4.对称差集
>>> s1 ^ s2
{1, 4}
5.其他
>>> max({1,2,3})
3
>>> min({1,2,3})
1
>>> sum({1,2,3})
6