【问题标题】:Want to create a list inside a list using a string想要使用字符串在列表中创建列表
【发布时间】:2016-09-21 18:13:13
【问题描述】:

我想使用字符串创建多个列表。 例如,当我得到一个像 1,2;3,4| 这样的字符串时5,6;7,8|9,0;7,6|4,3;2,1 ;将字符串分割,使其进入字符串的下一行 和 |将开始一个新的矩阵 因此示例中的字符串将创建 [[1,2],[3,4]], [[5,6],[7,8]], [[9,0],[7,6]], [[4,3],[2,1]]。

我试图用 ; 分割字符串和 |,但不知道从那里做什么

CS = content.split('|')
LIST = [i.split(';') for i in CS]

请帮帮我。 谢谢你

【问题讨论】:

    标签: string list matrix


    【解决方案1】:

    如果你可以使用numpy,那么numpy.matrix可以从字符串初始化:

    import numpy as np
    
    content = '1,2;3,4|5,6;7,8|9,0;7,6|4,3;2,1'
    cs = content.split('|')
    list = [np.matrix(i).tolist() for i in cs]
    

    【讨论】:

    • 很遗憾,我还不知道怎么用bumpy。 :(
    【解决方案2】:
    content = '1,2;3,4|5,6;7,8|9,0;7,6|4,3;2,1'
    
    CS = content.split('|')
    LIST = [i.split(';') for i in CS]
    
    # double list comprehension to group the integers into lists
    lis = [[i] for j in LIST for i in j]
    
    # group the result lists by evenly-sized chunks    
    lis = [lis[i:i + 2] for i in range(0, len(lis), 2)]
    
    print lis
    
    # Output:
    #  [
    #      [
    #          ['1,2'], ['3,4']
    #      ], 
    #      [
    #          ['5,6'], ['7,8']
    #      ], 
    #      [   
    #          ['9,0'], ['7,6']
    #      ], 
    #      [
    #          ['4,3'], ['2,1']
    #      ]
    #  ]
    

    【讨论】:

    • 是否可以将字符串转换为浮点数?
    • NVM 我想出了另一种方法
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-08
    • 2021-02-05
    • 2020-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多