首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在python中将集合转换为列表?

如何在python中将集合转换为列表?
EN

Stack Overflow用户
提问于 2011-07-06 17:08:37
回答 9查看 381K关注 0票数 155

我正在尝试在Python2.6中将集合转换为列表。我使用的语法是:

代码语言:javascript
复制
first_list = [1,2,3,4]
my_set=set(first_list)
my_list = list(my_set)

但是,我得到了以下堆栈跟踪:

代码语言:javascript
复制
Traceback (most recent call last):
  File "<console>", line 1, in <module>
TypeError: 'set' object is not callable

我该如何解决这个问题呢?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2011-07-06 17:11:16

它已经是一个列表了

代码语言:javascript
复制
type(my_set)
>>> <type 'list'>

你想要像这样的东西吗

代码语言:javascript
复制
my_set = set([1,2,3,4])
my_list = list(my_set)
print my_list
>> [1, 2, 3, 4]

编辑:最后一条评论的输出

代码语言:javascript
复制
>>> 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]

我想知道你有没有做过这样的事情:

代码语言:javascript
复制
>>> set=set()
>>> set([1,2])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'set' object is not callable
票数 209
EN

Stack Overflow用户

发布于 2012-08-14 23:04:28

而不是:

代码语言:javascript
复制
first_list = [1,2,3,4]
my_set=set(first_list)
my_list = list(my_set)

为什么不简化这个过程:

代码语言:javascript
复制
my_list = list(set([1,2,3,4])

这将从您的列表中删除复制并返回一个列表给您。

票数 13
EN

Stack Overflow用户

发布于 2011-07-06 17:17:25

编辑看起来你之前已经重新定义了"list",使用它作为变量名,如下所示:

代码语言:javascript
复制
list = set([1,2,3,4]) # oops
#...
first_list = [1,2,3,4]
my_set=set(first_list)
my_list = list(my_set)

你就会得到

代码语言:javascript
复制
Traceback (most recent call last):
  File "<console>", line 1, in <module>
TypeError: 'set' object is not callable
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6593979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档