如何将整数列表转换为整数?

3

我该如何将一个整数列表转换成一个整数?例如:从 lst = [1, 2, 3] 转换为 a = 123? 我尝试过以下方法:

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

但是如果我只需要这个数字而不是打印它,该怎么办?

4个回答

4
  • 使用 map 将列表中的元素转换为字符串
  • 使用 str.join 连接列表中的元素

例子:

lst = [1, 2, 3]
print("".join(map(str, lst)))

如果你需要一个 int 对象

使用以下代码:

print(int("".join(map(str, lst))))

然后将结果转换为 int - T Burgis
我不禁觉得这是低效的。你在这里进行了 int -> str -> int 的转换。我认为这是你实际需要的计算量的两倍。 - jpp

3
您可以使用 reduce 函数 (functools.reduce 在 Python3 中):
a = reduce( lambda x,y: 10*x + y, lst)

3

使用生成器表达式与 sum

lst = [1, 2, 3]
n = len(lst)
res = sum(val * 10**(n-idx) for idx, val in enumerate(lst, 1))

实际上,这是int('123')在内部执行的更加明确的表示。


1
你可以使用.join方法创建一个字符串,并将其转换为int,如下所示:

a = int(''.join(str(x) for x in lst))

祝好。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接