首页 > 解决方案 > 在 Python 中,列表和元组之间的类型转换是如何发生的?

问题描述

我试图调试代码并发现我们不能将单个 float 或 int 参数传递给元组,如下所示:

tuple(5) 

TypeError: 'int' object is not iterable 

但是tuple([5])有效。

python 是否将 int 转换为 list 到上面的元组?如果是这样,那么为什么这也会产生错误?

tuple(list(5)) 

TypeError: 'int' object is not iterable 

标签: pythonpython-3.xlist

解决方案


出现第二个错误是因为list(5)抛出 的部分TypeError,原因与tuple(5)抛出. 的原因相同TypeError

您可以使用

>>> tuple(list([5]))
(5,)
>>> tuple(list(5 for _ in range(1)))
(5,)

两者都工作正常。


推荐阅读