【问题标题】:Python integers into listsPython整数到列表中
【发布时间】:2017-08-12 02:26:26
【问题描述】:

我正在使用以下代码将整数分解为位并存储在列表中。

我希望它使用之前已经在代码中输入的变量的内容,而不是 12345。但我似乎无法让它在变量上工作。有什么建议?

digits = [] 
digits += str(12345)

【问题讨论】:

  • s = 12345 然后digits += list(str(s)) 是你想要的吗?
  • map(int, str(12345))[int(digit) for digit in str(12345)]
  • 您要的是 bits 还是 digitsBits 需要转换为等效的二进制。
  • 对不起数字,试试这个。谢谢

标签: python list variables integer


【解决方案1】:

使用map(Python 2.7):

digits = map(int, str(12345))

如果您使用 Python 3.x,如 digits = list(map...),则强制评估 digitslist

或列表推导:

digits = [int(digit) for digit in str(12345)]

for循环:

digits = []
for digit in str(12345):
    digits.append(int(digit))

我假设您希望将每个数字作为整数存储在结果列表中。否则,您可以直接拨打int() 电话。

【讨论】:

    【解决方案2】:

    假设您想将数字拆分为 数字,而不是位,您可以选择很多非常简单的解决方案。一些例子:

    方法一:映射数字

    number = 12345
    digits = list(map(int,str(number)))
    print(digits) # prints [1, 2, 3, 4, 5]
    

    方法二:循环遍历数字

    number = 12345
    digits = []
    for digit in str(number):
         digits.append(int(digit))
    

    方法3:复制数,除以10取余,再除以10

    number = 12345
    number2 = number
    digits = []
    while number2 > 0:
        digits.insert(0,int(number2) % 10)
        number2 /= 10
    print(digits)
    

    【讨论】:

    • 如果你需要除法和模组,最好只做divmod
    猜你喜欢
    • 2012-09-09
    • 1970-01-01
    • 2020-08-29
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-09
    相关资源
    最近更新 更多