将单个数字转换为单个数字Python

时间:2014-01-21 22:23:32

标签: python list numbers

我想将一个数字,例如43365644编成单个数字[4,3,3 ....,4,4]

并将其附加到列表

4 个答案:

答案 0 :(得分:46)

如果您:

,这可以很容易地完成
  1. 使用str将数字转换为字符串,以便您可以对其进行迭代。

  2. 使用list comprehension将字符串拆分为单个数字。

  3. 使用int将数字转换回整数。

  4. 以下是演示:

    >>> 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)]