我该如何将一个整数列表转换成一个整数?例如:从 lst = [1, 2, 3] 转换为 a = 123? 我尝试过以下方法:
for i in lst:
print(i, end = '')
但是如果我只需要这个数字而不是打印它,该怎么办?
map
将列表中的元素转换为字符串str.join
连接列表中的元素例子:
lst = [1, 2, 3]
print("".join(map(str, lst)))
如果你需要一个 int
对象
使用以下代码:
print(int("".join(map(str, lst))))
reduce
函数 (functools.reduce
在 Python3 中):a = reduce( lambda x,y: 10*x + y, lst)
使用生成器表达式与 sum
:
lst = [1, 2, 3]
n = len(lst)
res = sum(val * 10**(n-idx) for idx, val in enumerate(lst, 1))
实际上,这是int('123')
在内部执行的更加明确的表示。
.join
方法创建一个字符串,并将其转换为int
,如下所示:a = int(''.join(str(x) for x in lst))
int
。 - T Burgisint
->str
->int
的转换。我认为这是你实际需要的计算量的两倍。 - jpp