如何从整数列表中生成一个整数?例如:从lst = [1,2,3]开始,使a = 123? 我尝试过:
for i in lst:
print(i, end = '')
但是如果我不需要打印,只是为了有这个号码?
答案 0 :(得分:4)
map
将列表中的元素转换为字符串str.join
合并列表中的元素例如:
lst = [1, 2, 3]
print("".join(map(str, lst)))
如果您需要int
对象
使用:
print(int("".join(map(str, lst))))
答案 1 :(得分:2)
您可以使用reduce
(在Python3中为functools.reduce
):
a = reduce( lambda x,y: 10*x + y, lst)
答案 2 :(得分:2)
将sum
与生成器表达式一起使用:
lst = [1, 2, 3]
n = len(lst)
res = sum(val * 10**(n-idx) for idx, val in enumerate(lst, 1))
实际上,这是int('123')
内部应该做的事情的更明确表示。
答案 3 :(得分:1)
您可以使用.join
方法创建一个字符串并将其转换为int
,如下所示:
a = int(''.join(str(x) for x in lst))
干杯。