我想将一个数字,例如43365644编成单个数字[4,3,3 ....,4,4]
并将其附加到列表
答案 0 :(得分:46)
如果您:
,这可以很容易地完成使用str
将数字转换为字符串,以便您可以对其进行迭代。
使用list comprehension将字符串拆分为单个数字。
使用int
将数字转换回整数。
以下是演示:
>>> n = 43365644
>>> [int(d) for d in str(n)]
[4, 3, 3, 6, 5, 6, 4, 4]
>>>
答案 1 :(得分:10)
这是一种方法,可以先将其转换为字符串(基于一些基本的基准测试,这大约是首先将n
字符串化的速度的两倍):
>>> n = 43365644
>>> [(n//(10**i))%10 for i in range(math.ceil(math.log(n, 10))-1, -1, -1)]
[4, 3, 3, 6, 5, 6, 4, 4]
答案 2 :(得分:5)
最简单的方法是将int转换为字符串,并将字符串的每个字符作为列表的元素:
>>> n = 43365644
>>> digits = [int(x) for x in str(n)]
>>> digits
[4, 3, 3, 6, 5, 6, 4, 4]
>>> lst.extend(digits) # use the extends method if you want to add the list to another
它涉及一些演员操作,但如果你不需要极端性能,它是可读的和可接受的。
答案 3 :(得分:2)
如果您想将您的号码更改为这些号码的列表,我会首先将其转换为string
,然后将其转换为列表,自然会在每个字符上中断:
[int(x) for x in str(n)]