我有一个像这样的列表:
["1", "8", "9", "5", "6"]
并希望将其转换为单个整数。
所以期望的输出是:18956
有一种优雅的方法吗?
进入我脑海中的唯一方法就是通过列表并将数字乘以所需的10的幂并将所有数据相加。但我相信有更好的方法,不是吗? 谢谢你的帮助。
答案 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