创建列表中的列表

时间:2015-01-08 15:31:22

标签: python list python-3.x 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

有人可以帮我看看为什么吗?

1 个答案:

答案 0 :(得分:5)

代码中的其他位置,在显示的行之上,您必须这样做:

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

这样做掩盖了具有用户定义名称的内置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
>>>

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