我正在尝试将数字列表划分为数字。例如:数字132将分为1、3和2。如何摆脱列表中的列表。所以这只是整数。
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a = []
for digit in lst:
a.append([int(i) for i in str(digit)])
print(a)
输出给出[[1], [2], [3], [4], [5], [6], [7], [8], [9], [1, 0]]
。
我期望[1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0]
的输出。
答案 0 :(得分:1)
您要在a
的{{1}}处添加一个列表,因此您将获得一个列表列表。相反,您应该添加一个int以获取int列表。像
a.append([int(i) for i in str(digit)])
答案 1 :(得分:1)
使用列表理解
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sol = [int(j) for i in lst for j in list(str(i))]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0]
答案 2 :(得分:0)
您可以尝试一下:
In [56]: for item in lst:
...: if item > 9: # this is what you're interested in
...: for x in str(item):
...: end.append(int(x))
...: else:
...: end.append(item)
...:
...:
In [57]: end
Out[57]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0]
In [58]: lst
Out[58]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
我想到的最快事情是将项目转换为大于9的字符串,然后迭代该字符串并将每个 string-digit 返回诠释。