Python 设置为列表
如何在 Python 中将集合转换为列表?使用
a = set(["Blah", "Hello"])
a = list(a)
不行。它给了我:
TypeError: 'set' object is not callable
How can I convert a set to a list in Python? Using
a = set(["Blah", "Hello"])
a = list(a)
doesn't work. It gives me:
TypeError: 'set' object is not callable
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
您的代码确实工作(使用 cpython 2.4、2.5、2.6、2.7、3.1 和 3.2 进行测试):
检查您是否意外覆盖了
list
:Your code does work (tested with cpython 2.4, 2.5, 2.6, 2.7, 3.1 and 3.2):
Check that you didn't overwrite
list
by accident:您不小心将内置集用作变量名,从而掩盖了内置集,这是复制错误的简单方法
第一行将集重新绑定到集的实例。第二行尝试调用实例,这当然会失败。
这是一个不太令人困惑的版本,为每个变量使用不同的名称。使用新的解释器
希望调用
a
是一个错误是显而易见的You've shadowed the builtin set by accidentally using it as a variable name, here is a simple way to replicate your error
The first line rebinds set to an instance of set. The second line is trying to call the instance which of course fails.
Here is a less confusing version using different names for each variable. Using a fresh interpreter
Hopefully it is obvious that calling
a
is an error在你写
set(XXXXX)
之前您已使用“set”作为变量
例如
before you write
set(XXXXX)
you have used "set" as a variable
e.g.
这将起作用:
但是,如果您使用“list”或“set”作为变量名称,您将得到:
例如:
如果您使用“list”作为变量名称,则会发生相同的错误。
This will work:
However, if you have used "list" or "set" as a variable name you will get the:
eg:
Same error will occur if you have used "list" as a variable name.
您的代码可以在 Win7 x64 上使用 Python 3.2.1
Your code works with Python 3.2.1 on Win7 x64
尝试使用 map 和 lambda 函数的组合:
如果您在字符串中有一组数字并且想要将其转换为整数列表,这是非常方便的方法:
Try using combination of map and lambda functions:
It is very convenient approach if you have a set of numbers in string and you want to convert it to list of integers: