如何将字符串列表转换为 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
我需要有关如何将列表转换为整数的帮助,例如
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