为什么在python 3.x中Int类型不能直接转换为list?

问题描述 投票:0回答:1

我正在寻找答案,为什么 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() 和 []。

python-3.x
1个回答
0
投票

使用

str
可能不会得到您期望的结果 - 它会以直接的方式将 int 转换为字符串,然后创建一个列表,其中每个字符都是不同的元素。例如,如果
num
123, 
list(str(num))
will produce
['1', '2', '3']`。

使用

[num]
会做一些不同的事情 - 它创建一个包含单个元素的列表。即,在这种情况下
[num]
将产生
[123]

这些都不是“错误”或“正确” - 它们做不同的事情,您应该选择适合您要求的一个。

© www.soinside.com 2019 - 2024. All rights reserved.