集合对象是一组无序排列的可哈希的值,集合成员可以做字典的键
a=[[1,2],'a','b']
s=set(a) #此时会报错
print(s)
集合又又可变集合和不可变集合
可变集合(set):可以增加和删除元素。非可哈希的,不能用作字典的键,也不能做其他集合的元素
非可变集合(frozenset):和可变集合相反
可变: a=[1,'a','b']
s=set(a)
非可变:a=[1,'a','b']
s=frozenset(a)
非可变的集合主要用来做字典的键,与tuple的区别在于无序,元素不可重复,且元素必须是不可变类型
集合的主要操作:
(假设又a,b两个集合)
取交集 a&b 或 a.intersection(b)
取并集 a|b 或a.union(b)
取差集 a-b 或 a.difference(b)
对称差 a^b 或 a.symmetric_difference(b)
判断子集(a是否为b的子集) a<=b 或 a.issubset(b)
添加元素 a.add(x)
批量添加元素 a.update(seq) #将seq中与a不同的元素全部添加到a,seq可以是不同的序列
删除单一元素 a.remove(x) a.discard(x)
批量删除元素 a.defference_update(seq) #去除a中与seq相同的元素
随机删除并弹出一个元素 a.pop()