列表到Python中的数字

2024-10-03 13:19:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何在不使用str方法的情况下将列表转换为数字。应该是这样的。它必须是一个函数

  • listToNum([4,5])
  • 45

Tags: 方法函数列表情况数字strlisttonum
2条回答

您可以使用45=4*10+5这一事实:

def list_to_num(my_list):
    num = 0
    digits = len(my_list)
    for i in range(digits):
        num += my_list[i] * 10**(digits - i - 1)
    return num

或者以更简洁的方式

def list_to_num(my_list):
    num = 0
    for i in my_list:
        num = num * 10 + i
    return num

ASCII table^{}list comprehension连用。将字符串转换回带有^{}的整数:

l = [4, 5]
r = int(''.join([chr(x + 48) for x in l]))

要使其成为一项功能:

def listToNum(l):
    return int(''.join([chr(x + 48) for x in l]))

为了在你的作业上获得额外的分数,使用try...except块来测试你的输入列表中是否有虚假的值,并优雅地处理这个错误。伪值不是0到9之间的数字

相关问题 更多 >