set 是一个不允许内容重复的组合,而且set里的内容位置是随意的,所以不能用索引列出。可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
1.创建set集合
>>> set([1,2,3])
{1, 2, 3}
>>> set('123')
{'1', '2', '3'}
>>> set()
set() #创建一个空set
2.新建一个set:
>>>set("Hello")
{'H', 'e', 'l', 'o'}
3.增加一个元素:
add()用于增加一个元素值,
update():是把要传入的元素拆分,做为个体传入到集合中
update([]),用于增加多个元素值,参数为list,注意如果用add增加多个值,会报参数类型错误。
>>> a = set()
>>> a.add('python')
>>> a
{'python'}
>>> a.add('love')
>>> a
{'love', 'python'}
>>> a.add('i')
>>> a
{'love', 'i', 'python'}
>>> a = set('love')
>>> a
{'l', 'v', 'o', 'e'}
>>> a.update('python')
>>> a
{'h', 'y', 'e', 'n', 'o', 'p', 't', 'l', 'v'}
>>> a.update(['you','me'])
{'e', 'h', 'l', 'me', 'n', 'o', 'p', 't', 'v', 'y', 'you'}
4.删除一个元素:
remove()用于删除一个set中的元素,这个值在set中必须存在,如果不存在的话,会引发KeyError错误。
discard()用于删除一个set中的元素,这个值不必一定存在,不存在的情况下删除也不会触发错误。
>>> a = set(['i', 'love', 'python'])
>>> a
{'love', 'i', 'python'}
>>> a.remove('love')
>>> a
{'i', 'python'}
>>> a = set(['i', 'love', 'python'])
>>> a
{'love', 'i', 'python'}
>>> a.discard('love')
>>> a
{'i', 'python'}
>>> a.discard('me')
>>> a
{'i', 'python'}
5.随机删除函数:
set提供了一个pop()函数,这个函数随机返回一个元素值,然后把这个值删除,如果set为空,调用这个函数会返回Key错误。
>>> a = set(['i', 'love', 'python'])
>>> a
{'love', 'i', 'python'}
>>> a.pop()
'python'
>>> a
{'i', 'love'}
6.清空函数:
clear(),将set全部清空。
7.测试单个元素在集合内是否存在:
in 或者 not in 如果需要判断一个值在集合内是否存在,in就能满足要求,例如2 in set_num 如果存在则返回True,否则返回False。
8.测试两个集合是否包含,子集操作:
issubset和issuperset,
s1.issubset(s2) :测试是否 s1 中的每一个元素都在 s2 中,运算符操作为 s1<=s2;
s2.issuperset(s1) :测试是否 s1 中的每一个元素都在 s2 中,运算符操作为 s1>=s2;//注意是s2调用,参数为s1.
9.集合的并集:
union s1.union(s2) :返回一个新集合,新集合包含s1,s2的所有元素,等价的运算符为 | 。
10.集合的交集:
intersection,s1.intersection(s2),返回s1和s2中相同部分
11.其他操作:
s1.difference(s2):包含s1中有,但是s2没有的元素的集合。
s1symmetric_difference(s2):包含s1和s2中不相同的元素的集合。
参考链接:https://blog.csdn.net/yushupan/article/details/82698223