从字符串中提取矩阵格式的嵌套列表

时间:2016-09-14 11:45:15

标签: python python-3.x arraylist

"This is a matrix [[1,2,3],[4,5,6],[p,q,r]]. But these are not a matrix [[2,5,9],[5,2]] or [[5,8,[5,6]],[5]]."

我想从字符串中提取嵌套列表。我想要这样的输出 [['1','2','3'],['4','5','6'],['p','q','r']]我不想要其他嵌套列表。

嵌套列表不是上面的特定列表,即3x3。它可以是任何格式,如mxn。如何使用python从字符串中提取这种嵌套列表并使其成为非字符串以便我可以使用它?

1 个答案:

答案 0 :(得分:1)

您需要找到构成字符串的规则。如果列表周围只有括号,则可以安全地执行:

s = "This is a matrix [[1,2,3],[4,5,6],[7,8,9]]."
matrix_s = re.search('\[.*\]', s).group()
matrix = ast.literal_eval(matrix_s)