3

当我尝试使用集合时,它表明没有任何命名集合。

from sets import set

> ImportError: cannot import name set

我如何解决它?

4

4 回答 4

13

不需要导入sets模块;套装现已内置。只需使用内置set()类型

>>> set()
set([])

您也可以使用{1, 2, 3}set 文字语法:

>>> {1, 2, 3}
set([1, 2, 3])

如果您仍然想使用较慢的sets模块,则Set使用大写调用该对象S

>>> from sets import Set

但请注意,该模块已被弃用;使用它不会在内置类型上添加任何内容。该模块已在 Python 3 中完全删除。

于 2013-02-13T13:52:25.750 回答
1

set需要大写:

from sets import Set

但是从 Python 2.7 开始,set是内置的,使用sets#Set实际上比内置的set.

例如,我最近评估的一个编码挑战是在 a 中查找大量小词,dict或者set运行大约需要 3 秒,sets#Set但使用内置set. 这是一个显着的差异。

于 2016-11-29T22:03:18.890 回答
1

使用“S”而不是 s

 try:
    from sets import Set
 except ImportError:
    Set = set
于 2019-06-26T07:22:30.693 回答
0

使用Set而不是set因为它是一个关键字。

from sets import Set
于 2016-09-13T13:32:21.960 回答