如何从整数列表中生成一个整数?

时间:2018-10-17 10:12:03

标签: python for-loop

如何从整数列表中生成一个整数?例如:从lst = [1,2,3]开始,使a = 123? 我尝试过:

for i in lst:
    print(i, end = '')

但是如果我不需要打印,只是为了有这个号码?

4 个答案:

答案 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))

干杯。