创建列表中的列表

Sys*_*147 0 python list set python-3.x

我正在阅读Dive到Python3书和以下示例.在第2章,我正在尝试的Native数据类型,例如在set中创建列表.

a_list = ['a', 'b', 'mpilgrim', True, False, 42]
a_set = set(a_list)                           
a_set      
Run Code Online (Sandbox Code Playgroud)

但我得到TypeError:

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

有人能帮我看看为什么?

iCo*_*dez 5

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

set = {...}
# or
set = set(...)
Run Code Online (Sandbox Code Playgroud)

这样做会使set用户定义的名称掩盖内置内容.所以,名称set现在指的是一个集合实例,而不是类:

>>> 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
>>>
Run Code Online (Sandbox Code Playgroud)

您需要找到您执行此操作的位置并选择其他名称.