想要使用字符串在列表中创建列表

Posted

技术标签:

【中文标题】想要使用字符串在列表中创建列表【英文标题】: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]

请帮帮我。 谢谢你

【问题讨论】:

【参考方案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 我想出了另一种方法

以上是关于想要使用字符串在列表中创建列表的主要内容,如果未能解决你的问题,请参考以下文章

如何在 markdown frontmatter 中创建字符串列表?

如何在存储过程中创建字符串列表变量以及如何在另一个查询中使用它?

如何根据 .txt 文件中的关键字在 Python 中创建列表?

如何从字符串列表中创建一个字符串? [复制]

在 XML 设置文件中创建字符串列表

在 react-router 中创建动态链接列表