29.Python的集合

集合是可以由内置类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创建的不可变集合。
集合还可以进行并集和交集操作。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。