从集合中创建列表

Create list out of set

我正在阅读 Dive into Python3 一书和以下示例。在第 2 章中,本机数据类型 我正在尝试,例如创建集合外的列表。

a_list = ['a', 'b', 'mpilgrim', True, False, 42]
a_set = set(a_list)                           
a_set      

但我得到 TypeError:

 Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
 TypeError: 'set' object is not callable

谁能帮我看看为什么?

您代码中的其他地方,在显示的那些行上方,您必须这样做:

set = {...}
# or
set = set(...)

这样做会使带有用户定义名称的内置 set 黯然失色。因此,名称 set 现在指的是集合 instance 而不是 class:

>>> set # Built-in
<class 'set'>
>>> set() # Is callable
set()
>>> set = {1, 2, 3} # Built-in is overshadowed
>>> set
{1, 2, 3}
>>> set() # Is no longer callable
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'set' object is not callable
>>>

您需要找到执行此操作的位置并选择一个不同的名称。