理解集()

时间:2014-03-18 14:48:51

标签: python python-3.x set

阅读python文档我来set()。目前,我的理解是考虑set是用于定义frozenset,list,tuple和dict类的实例的术语。

首先,这是正确的吗?

其次,是否有人可以提供可能在python中公开set()位置的更多信息?

2 个答案:

答案 0 :(得分:5)

Python setmathematical set的概念相同。

集合仅包含唯一元素,并且是无序集合,集合中没有“first”或“second”元素。

>>> a = set()
>>> a.add(1)
>>> a
set([1])
>>> a.add(1)
>>> a
set([1])

您无法索引集合:

>>> a[0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'set' object does not support indexing

可以迭代集合,但迭代的顺序没有定义,永远不应该依赖:

>>> for x in {1, 3, 2}:
...     print x
...
1
2
3

dictlist不是集合,您可能会对设置文档与其他集合出现在Python文档的同一区域这一事实感到困惑;而frozenset是特定类型的set

答案 1 :(得分:3)

除了matt b的回答,来自doc -

  

set对象是不同的hashable对象的无序集合。   常见用途包括成员资格测试,从中删除重复项   序列,并计算数学运算,如交集,   联合,差异和对称差异。