列表到整数

时间:2015-10-11 15:52:39

标签: python python-3.4

我正在尝试编写一个递归python函数,它接受一个列表,例如[1,2,3,4]并返回一个整数1234。有关如何执行此操作的任何帮助

def listtoint(lst):
     if lst==[]:
         return 0
     return lst[-1:]+clti(lst/10) 

我知道你不能分清单,但我想找到一种解决方法

1 个答案:

答案 0 :(得分:3)

def listtoint(lst):
    if lst == []:
        return 0
    s = ''.join([str(i) for i in lst])
    return int(s)

这是如何工作的:''.join(some_list)获取列表中的每个元素并将它们连接成一个长字符串。这里some_list的每个元素必须已经是一个字符串,因此上面代码中的列表理解。

然后使用

int将结果字符串转换为整数。

应该有错误检查,但你可以处理。此外,这不是递归的,也不是必须的。

递归地执行此操作......

def listtoint(lst):
    if lst==[]:
         return 0
    iPower = 10**(len(lst)-1)
    return lst[0]*iPower + listtoint(lst[1:])