我正在尝试在Python2.6中将集合转换为列表。我使用的语法是:
first_list = [1,2,3,4]
my_set=set(first_list)
my_list = list(my_set)
但是,我得到了以下堆栈跟踪:
Traceback (most recent call last):
File "<console>", line 1, in <module>
TypeError: 'set' object is not callable
我该如何解决这个问题呢?
发布于 2011-07-06 17:11:16
它已经是一个列表了
type(my_set)
>>> <type 'list'>
你想要像这样的东西吗
my_set = set([1,2,3,4])
my_list = list(my_set)
print my_list
>> [1, 2, 3, 4]
编辑:最后一条评论的输出
>>> my_list = [1,2,3,4]
>>> my_set = set(my_list)
>>> my_new_list = list(my_set)
>>> print my_new_list
[1, 2, 3, 4]
我想知道你有没有做过这样的事情:
>>> set=set()
>>> set([1,2])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'set' object is not callable
发布于 2012-08-14 23:04:28
而不是:
first_list = [1,2,3,4]
my_set=set(first_list)
my_list = list(my_set)
为什么不简化这个过程:
my_list = list(set([1,2,3,4])
这将从您的列表中删除复制并返回一个列表给您。
发布于 2011-07-06 17:17:25
编辑看起来你之前已经重新定义了"list",使用它作为变量名,如下所示:
list = set([1,2,3,4]) # oops
#...
first_list = [1,2,3,4]
my_set=set(first_list)
my_list = list(my_set)
你就会得到
Traceback (most recent call last):
File "<console>", line 1, in <module>
TypeError: 'set' object is not callable
https://stackoverflow.com/questions/6593979
复制相似问题