我正在尝试编写一个递归python函数,它接受一个列表,例如[1,2,3,4]
并返回一个整数1234
。有关如何执行此操作的任何帮助
def listtoint(lst):
if lst==[]:
return 0
return lst[-1:]+clti(lst/10)
我知道你不能分清单,但我想找到一种解决方法
答案 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:])