python - 在 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
解决方案
出现第二个错误是因为list(5)
抛出 的部分TypeError
,原因与tuple(5)
抛出. 的原因相同TypeError
。
您可以使用
>>> tuple(list([5]))
(5,)
>>> tuple(list(5 for _ in range(1)))
(5,)
两者都工作正常。
推荐阅读
- javascript - jQuery - 如何使出现/消失的文本更平滑的侧面导航?
- python - Pandas:在 One-Hot 编码中将 NaN 视为看不见的值
- java - 从字符串 ArrayList 转换为整数数组(Java)
- python - 将 Python 代码移植到 Cython 时几乎没有加速
- c# - 即使在表单加载时设置,C# 工具提示也不显示
- php - 会话开始不起作用
- ios - 如何在 Swift 中正确创建初始化程序?
- javascript - 如何使用 moment-tz.js 解析 tz,如“GMT-08:00”
- eclipse - 为什么 Eclipse Jaspersoft Studio 插件的项目属性视图有时会显示白色文本(在白色背景上 :-( )?
- c# - 在 C# 中使用通配符作为路径名