如何将字符串列表转换为 Python 中的整数

How do I convert a list of strings to integers in Python

我需要有关如何将列表转换为整数的帮助,例如

lst = ["1", "2", "3"]

期望的输出:

123

我想我自己解释一下,我不会说英语所以我使用了翻译器,我希望它能被理解。

连接字符串,然后转换为整数:

int(''.join(lst))

转换为整数然后加入的替代方法要复杂得多,并且会删除您拥有的任何前导零:

from math import floor, log10

result = 0
for x in lst:
    n = int(x)
    result *= 10**((x and floor(log10(x))) + 1)
    result += n

由于 Python 的 and 运算符的工作方式,如果表达式 x and ... returns x 为零,则立即执行,右手如果不是,这就是你在取对数时想要的。

您需要做两件事:1. 将数组的元素连接成一个字符串,以及 2. 将该字符串转换为数字。

您可以使用 join 字符串方法执行#1。通常情况下,您会调用 join 其他一些您想要放在您要加入的字符串之间的字符串,但是由于您不想要其中之一,您可以只使用空字符串:

>>> lst=["1","2","3"]
>>> "".join(lst)
'123'

因为它仍然是一个字符串,而不是一个数值,所以这就是第 2 步的用武之地。您可以使用 int 函数将其转换为整数:

>>> int("".join(lst))
123