用Python编程,我想知道如何转换:
lst = [1,2,3,4]
为:
lst = 1234
我需要使用列表的值
创建一个int答案 0 :(得分:5)
不确定你是如何陷入这种困境的,但你可以使用reduce
来保持数字移位10
a_list = [1,2,3,4]
reduce(lambda x,y: x*10+y, a_list)
答案 1 :(得分:4)
最简单的方法是将其设为str
,然后设为int
>>> lst = [1, 2, 3, 4]
>>> int(''.join(map(str, lst)))
1234
如果列表中的每个元素都是一个数字,您也可以执行类似的操作,
>>> def lst_to_int(l):
... return sum(d*10**i for i, d in enumerate(reversed(l)))
...
>>> lst_to_int(lst)
1234
答案 2 :(得分:1)
一种显而易见的方法是将每个数字转换为字符串,连接字符串,然后转换回整数:
>>> numbers = [1, 2, 3, 4]
>>> digits = [str(number) for number in numbers]
>>> digits
['1', '2', '3', '4']
>>> numeral = ''.join(digits)
>>> numeral
'1234'
>>> number = int(numeral)
>>> number
1234
当然,你可以很容易地将这一切合并到一个表达式中:
>>> number = int(''.join(str(number) for number in numbers))
另一个明显的方法是数学:
>>> number = 0
>>> for digit in numbers:
... number = number * 10 + digit
>>> number
1234
这个表达起来有点困难,所以我会把它作为读者的练习。 (最简单的方法见reduce
。)