集合是可以由内置类set将序列或其他可迭代对象转化而成,也可以通过花括号显式指定。当然空的花括号只能创建出字典。
集合可以对成员去重,所以可以将有重复元素的列表转化成集合,然后在转化成列表,来实现去除重复元素。
>>> a=[2,3,2,3,2,3]
>>> b=list(set(a))
>>> b
[2, 3]
set创造的集合是可变的,但集合的元素不可变,所以集合不能包含其他set创建的集合,但通过frozenset类型可以创建不可变的集合,这种集合可以作为集合的成员。
>>> a=[2,3,2,3,2,3]
>>> b=list(set(a))
>>> b
[2, 3]
>>> c={5}
>>> d=set(b)
>>> e=frozenset(b)
>>> c.add(e)
>>> c
{frozenset({2, 3}), 5}
>>> c.add(d)
Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
c.add(d)
TypeError: unhashable type: 'set'
集合不可包含普通set创建的集合,但是可以包含frozenset创建的不可变集合。
集合还可以进行并集和交集操作。
网友评论