我正在尝试将列表转换为元组。
Google 上的大多数解决方案都提供以下代码:
l = [4,5,6]
tuple(l)
但是,当我运行该代码时,它会出现一条错误消息:
类型错误:“元组”对象不可调用
我该如何解决这个问题?
原文由 LynnH 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在尝试将列表转换为元组。
Google 上的大多数解决方案都提供以下代码:
l = [4,5,6]
tuple(l)
但是,当我运行该代码时,它会出现一条错误消息:
类型错误:“元组”对象不可调用
我该如何解决这个问题?
原文由 LynnH 发布,翻译遵循 CC BY-SA 4.0 许可协议
扩展 eumiro 的评论,通常 tuple(l)
会将列表 l
转换为元组:
In [1]: l = [4,5,6]
In [2]: tuple
Out[2]: <type 'tuple'>
In [3]: tuple(l)
Out[3]: (4, 5, 6)
但是,如果您将 tuple
重新定义为元组而不是 type
tuple
:
In [4]: tuple = tuple(l)
In [5]: tuple
Out[5]: (4, 5, 6)
然后你会得到一个 TypeError 因为元组本身是不可调用的:
In [6]: tuple(l)
TypeError: 'tuple' object is not callable
您可以通过退出并重新启动解释器来恢复 tuple
的原始定义,或者(感谢@glglgl):
In [6]: del tuple
In [7]: tuple
Out[7]: <type 'tuple'>
原文由 unutbu 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答884 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
它应该工作正常。不要使用
tuple
,list
或其他特殊名称作为变量名。这可能是导致您出现问题的原因。