【问题标题】:Python How to get integers from the list?Python如何从列表中获取整数?
【发布时间】:2017-12-11 03:47:22
【问题描述】:

我有一个整数列表,中间有空格。我想检索所有这些单独的整数并创建一个带有索引的新列表。

>>> x = ['1 2 3 4']
>>> type(x)
<class 'list'>
>>> len(x)
1

我想把列表转换成

>>> x = [1, 2, 3, 4]
>>> type(x)
<class 'list'>
>>> len(x)
4

我正在尝试拆分,但没有成功。我该如何进行转换?

【问题讨论】:

  • xl = [int(n) for n in x[0].split()]
  • 谢谢大家! .太棒了!

标签: python list integer


【解决方案1】:

这是一种直接的方法:

>>> map(int, x[0].split())
[1, 2, 3, 4]

这里:

  • x[0]['1 2 3 4'] 转换为'1 2 3 4'
  • .split() 将其转换为 ['1', '2', '3', '4'];
  • map(int, ...) 将其转换为 [1, 2, 3, 4]

也就是说,考虑到它似乎只有一个元素(一串以空格分隔的数字),为什么首先要有一个列表并不完全清楚。

【讨论】:

    【解决方案2】:

    你可以试试这个:

    x = ['1 2 3 4']
    final_x = [int(i) for i in x[0] if i.isdigit()]
    

    输出:

    [1, 2, 3, 4]
    

    【讨论】:

      【解决方案3】:

      您可以使用 lambda 并像这样映射:

      a = ['1 2 3 4']
      
      
      print(list(map(lambda x:list(map(lambda y:int(y),x.split())),a)))
      

      输出:

      [[1, 2, 3, 4]]
      

      【讨论】:

        猜你喜欢
        • 2020-05-18
        • 2022-08-15
        • 1970-01-01
        • 1970-01-01
        • 2016-08-01
        • 1970-01-01
        • 2021-11-06
        • 1970-01-01
        • 2013-07-06
        相关资源
        最近更新 更多