将长整型列表转换为整数

11
[112L, 114L, 115L, 116L, 117L, 118L, 119L, 120L, 121L, 122L, 123L, 124L, 125L, 126L] 

我该如何将这个列表转换为其中提到的值的整数列表?我尝试使用int(),但出现了错误。有什么想法吗?


1
哪段代码出错了?是什么错误?请提供足够的细节以便他人帮助您。 - BallpointBen
返回了什么错误? - Hasan Ramezani
2
你为什么想要将长整型转换成整型呢?无论列表中包含整型还是长整型,它们都应该能够正常工作。或者你只是在执行 print(my_list),不喜欢看到 'L' 的样子吗? - Alasdair
3个回答

16

通常您有多种方法来实现这一点。您可以使用列表推导式对列表中的每个单独的long元素应用内置的int()函数:

l = [112L, 114L, 115L, 116L, 117L, 118L, 119L, 120L, 121L, 122L, 123L, 124L, 125L, 126L]

l2 = [int(v) for v in l]

该函数将返回新列表l2,其中包含相应的int值:

[112, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126]

或者,您可以使用与 int() 结合使用的另一个内置函数 map() 来实现完全相同的功能:

# gives similar results
l2 = map(int, l) 

5

使用列表推导式,将列表中的每个元素转换为整数。请查看下面的代码:

>>> l = [112L, 114L, 115L, 116L, 117L, 118L, 119L, 120L, 121L, 122L, 123L, 124L, 125L, 126L]
>>> i = [int(a) for a in l]
>>> print i
[112, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126]

5
我会使用map -
l = [112L, 114L, 115L, 116L, 117L, 118L, 119L, 120L, 121L, 122L, 123L, 124L, 125L, 126L]
print map(int,l)

打印 -

[112, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接