【问题标题】: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(),但它返回了一个错误。有什么想法吗?

【问题讨论】:

  • 什么代码给了你这个错误?这是什么错误?请提供足够的详细信息以供人们帮助您。
  • 返回了什么错误?
  • 为什么要将长整数转换为整数?无论列表包含整数还是长整数,该列表的工作方式都应该相同。或者你只是在做print(my_list),不喜欢“L”的样子?

标签: python python-2.7 list int


【解决方案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]
      

      【讨论】:

        猜你喜欢
        • 2011-10-05
        • 1970-01-01
        • 2020-01-23
        • 1970-01-01
        • 1970-01-01
        • 2022-11-10
        • 2020-04-14
        • 2017-11-28
        • 2023-03-13
        相关资源
        最近更新 更多