我正在寻找答案,为什么 int --> 列表转换不支持转换
num = 2
output = list(num)
print(out)
结果:
output = list(num)
^^^^^^^^^
TypeError: 'int' object is not iterable
在 int --> Str 和 Str--> list 的情况下是可行的,因为字符串是可迭代的。 喜欢
num = 2
output = list(str(num))
结果:
['2']
替代方案,
num = 2
output = [num]
print(output) # it worked.
我期待答案,为什么 int 对象无法使用转换在 python 中转换为列表,不同的是使用 list() 和 []。
使用
str
可能不会得到您期望的结果 - 它会以直接的方式将 int 转换为字符串,然后创建一个列表,其中每个字符都是不同的元素。例如,如果 num
是 123,
list(str(num))will produce
['1', '2', '3']`。
使用
[num]
会做一些不同的事情 - 它创建一个包含单个元素的列表。即,在这种情况下 [num]
将产生 [123]
。
这些都不是“错误”或“正确” - 它们做不同的事情,您应该选择适合您要求的一个。