将长整数列表转换为整数

Posted

技术标签:

【中文标题】将长整数列表转换为整数【英文标题】:Converting list of long ints to ints 【发布时间】:2016-02-04 19:40:17 【问题描述】:
[112L, 114L, 115L, 116L, 117L, 118L, 119L, 120L, 121L, 122L, 123L, 124L, 125L, 126L] 

如何将此列表转换为这些值的整数值列表?我试过int(),但它返回了一个错误。有什么想法吗?

【问题讨论】:

什么代码给了你这个错误?这是什么错误?请提供足够的详细信息以供人们帮助您。 返回了什么错误? How can I check if a string has a numeric value in it in Python?的可能重复 为什么要将长整数转换为整数?无论列表包含整数还是长整数,该列表的工作方式都应该相同。或者你只是在做print(my_list),不喜欢“L”的样子? 【参考方案1】:

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

>>> 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]

【讨论】:

【参考方案2】:

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

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]

或者,您可以使用另一个内置函数 map()int() 一起完成相同的任务:

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

【讨论】:

【参考方案3】:

我会使用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]

【讨论】:

以上是关于将长整数列表转换为整数的主要内容,如果未能解决你的问题,请参考以下文章

如何将长整数时间转换为 NSString 或 NSDate 以显示时间?

[C/C++笔面试]不使用库函数将整数转换为字符串

将长值列表转换为逗号分隔以及每个值周围的括号

将整数列表转换为整数数组[重复]

将每行从整数列表转换为整数数组?

如何将长格式的数据框转换为适当格式的列表?