将字符串列表转换为一个整数

时间:2017-07-28 09:52:26

标签: python string list integer

我有一个像这样的列表:

 ["1", "8", "9", "5", "6"]

并希望将其转换为单个整数。 所以期望的输出是:18956

有一种优雅的方法吗?

进入我脑海中的唯一方法就是通过列表并将数字乘以所需的10的幂并将所有数据相加。但我相信有更好的方法,不是吗? 谢谢你的帮助。

4 个答案:

答案 0 :(得分:5)

这样做你想要的:

它使用''(一个空字符串)作为分隔符将每个数字连接成一个字符串,产生'18956'。

然后使用int()工厂函数将字符串转换为整数:

int(''.join(["1", "8", "9", "5", "6"]))

答案 1 :(得分:2)

int(''.join(["1", "8", "9", "5", "6"]))

这很容易,但我会解释一下:

首先,join获取列表中的每个元素,并创建一个字符串,其中所有元素都由分隔符“加入”;因为我们不需要任何分隔符,所以我们放置了''

其次,它采用结果字符串"18956"并转换为int

答案 2 :(得分:1)

您的清单:

l = ["1", "8", "9", "5", "6"]

方法1:

print(int(''.join(map(str,l))))

方法2:

digit = lambda nums: int(''.join(i for i in nums))
print(digit(l))

两个输出都相同:

18956
18956

答案 3 :(得分:0)

尝试

>>> a = ["1", "8", "9", "5", "6"]
>>> num = "".join(a)
>>> num
'18956'
>>> number = int(num)
>>> number
18956