【问题标题】:split space separated numeric string into a list in Python3在Python3中将空格分隔的数字字符串拆分为列表
【发布时间】:2021-07-31 06:46:57
【问题描述】:

将空格分隔的数字字符串拆分成一个包含数字列表

我想要这个:-

A = '5 2 12 4 29'

单行代码

中做到这一点

B = [5,2,12,4,29]

【问题讨论】:

    标签: python list integer


    【解决方案1】:

    您还可以使用以下 lambda 函数:

    A = '5 2 12 4 29'
    B = list(map(lambda x: int(x), a.split()))
    print(B)
    

    其中 split() 返回字符串列表 然后 map 函数遍历每个字符串,其中 lambda 函数将每个字符串转换为 Integer。

    【讨论】:

    • 啊,谢谢 Subhash 先生,但是一个简单的 int 将在不使用匿名函数的情况下做到这一点
    • 是的,先生。只是为您提供选择和可能性。
    【解决方案2】:

    试试这个

    .split() 方法返回拆分后的字符串列表。所以你可以遍历它并将其转换为整数

    A = '5 2 12 4 29'
    B = [int(l) for l in A.split()]
    
    ['5', '2', '12', '4', '29']
    

    .split() 方法将返回类似这样的内容。但是你希望它们是整数。所以可以按照上面的方法进行

    【讨论】:

    • @MrCoder 欢迎
    【解决方案3】:

    你可以在python3中使用这种风格:

    A = '5 2 12 4 29'
    B = A.split(" ")
    
    

    在这种情况下,使用带引号的split方法用空格分隔,因为A有带空格的数字,那么要分隔的引号将是split(" ")

    print(B)
    # ['5', '2', '12', '4', '29']
    

    【讨论】:

    • 只需.split() 就可以了
    • 感谢您的努力,兄弟,但我需要整数。
    【解决方案4】:

    这是使用列表理解的单行代码:

    A  = '5 2 12 4 29'
    B = [int(x) for x in A.split()]
    print(B)  # [5, 2, 12, 4, 29]
    

    【讨论】:

      【解决方案5】:

      您可以使用split( ) 将字符串转换为单个字符的列表。 ['5', '2', '12', '4', '29']

      由于您需要整数而不是字符,您可以使用 map() 将这些单个字符转换为整数。

      A = '5 2 12 4 29'
      B = list(map(int,A.split()))
      print(B)
      
      [5, 2, 12, 4, 29]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-30
        • 1970-01-01
        相关资源
        最近更新 更多