在Python中使用单行循环将数字转换为数字数组

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

我正在尝试将数字转换如下:

输入-> 123456输出-> ['1','2','3','4','5','6']

以下循环确实起作用:

number = 123456
defg = []
abc = str(number)
for i in range(len(abc)):
    defg.append(abc[i])

但是,当我以一行的形式尝试循环时,输出为['None','None''None''None']

我的一行循环如下:

number = 123456
defg = []
abc = str(number)
defg= [[].append(abc[i]) for i in range(len(abc))]

知道我在做什么错吗?

python append
2个回答
0
投票

这里是解决方案

list(map(lambda x: str(x), str(number)))       
Out[13]: ['1', '2', '3', '4', '5', '6']

或者您可以这样做

list(map(str, str(number)))                                                                                                                                                         
Out[13]: ['1', '2', '3', '4', '5', '6']

或此

list(str(number)) 

重复,您可以在这里看到更多Splitting integer in Python?


0
投票

尝试一下:

x = 527876324

print(list(str(x))

输出

['5', '2', '7', '8', '7', '6', '3', '2', '4']
© www.soinside.com 2019 - 2024. All rights reserved.