关于python:将长整数列表转换为整数

Converting list of long ints to ints

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

如何将此列表转换为上述值的整数值列表?我试过int(),但返回了一个错误。有什么主意吗?


你通常有很多方法可以做到这一点。您可以使用列表理解将内置的int()函数应用于列表中的每个单独long元素:

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

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

将返回新列表l2和相应的int值:

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

或者,您可以使用map(),这是另一个内置函数,与int()结合使用,来完成相同的精确操作:

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

我会用map。-

1
2
l = [112L, 114L, 115L, 116L, 117L, 118L, 119L, 120L, 121L, 122L, 123L, 124L, 125L, 126L]
print map(int,l)

打印-

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


使用列表理解并将列表中的每个元素转换为整数。请看下面的代码:

1
2
3
4
>>> 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]