- 集合:可变数据类型,里面的元素是不可变数据类型,且无序与不可重复。
1.增
set1 = {'alex','wusir','ritian','egon','barry'}
set1.add('女神')
set1.update('abc')
print(set1)
{‘barry’, ‘ritian’, ‘wusir’, ‘女神’, ‘a’, ‘alex’, ‘c’, ‘egon’, ‘b’}
2.删除
set1.pop()#随机删除,有返回值
print (set1)
{‘ritian’, ‘wusir’, ‘女神’, ‘a’, ‘alex’, ‘c’, ‘egon’, ‘b’}
set1.remove('alex')
print (set1)
{‘ritian’, ‘wusir’, ‘女神’, ‘a’, ‘c’, ‘egon’, ‘b’}
set1.clear()#清空集合
del set1#删除集合
3.查
set1 = {'alex','wusir','ritian','egon','barry'}
for i in set1:
print (i)
barry
ritian
wusir
alex
egon
4.集合运算操作
(1)交集
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print (set1&set2)
print (set1.intersection(set2))
{4, 5}
{4, 5}
(2)并集
print (set1|set2)
print (set1.union(set2))
{1, 2, 3, 4, 5, 6, 7, 8}
{1, 2, 3, 4, 5, 6, 7, 8}
(3)反交集
print (set1^set2)
print (set1.symmetric_difference(set2))
{1, 2, 3, 6, 7, 8}
{1, 2, 3, 6, 7, 8}
(4)差集
print (set1-set2)
print (set2-set1)
{1, 2, 3}
{8, 6, 7}
(5)子集与超集
set1 = {1,2,3}
set2 = {1,2,3,4,5}
print (set1<set2)#set1是set2的子集
print (set2>set1)#set2是set1的超集
True
False
5.frozenset不变集合
s = frozenset('barry')
print (s,type(s))
frozenset({‘r’, ‘a’, ‘y’, ‘b’}) <class ‘frozenset’>