集合与不可变集合的关系和列表与元组之间的关系类似。
先总结一下集合
集合是一个无序的可变的序列。集合中的元素必须是可hash的,即不可变的数据类型。
空集合
a=set()
注意a={}创建的是一个空字典。
也可以用set()转化为集合
b=[1,2,3,4]
a=set(b)
a
{1,2,3,4}
还可以用{}来创建一个集合
a={1,2,3,4,1}
a
{1,2,3,4}
与字典一样,因为集合是无序的,所以当有重复元素时,只保留其中一个。
与数学中集合的定义类似,python中的集合也有交,并,差,包含等操作。
1.交 a.intersection(b) 或 a&b
返回a,b中的所有相同的元素组成的集合,且只保留一个.
a={1,2,3,4}
b={2,3,4,5}
a&b
{2,3,4}
2.并 a.union(b) 或 a|b
返回a,b中所有元素组成的集合,相同元素只保留一个。
a|b
{1,2,3,4,5}
3.差 a.difference(b) 或 a-b
返回只在a中而不在b中的元素组成的集合。
a-b
{1}
4.对称差 a.symmetric_differ