首页 > 解决方案 > 将字符串列表(使用空格而不是逗号)转换为列表列表

问题描述

我有以下字符串:

'[[ 0.03694573  0.01084746  0.01306414  0.00499198  0.00307188]\r\n [ 0.03780498  0.02610241  0.00967986  0.02228694 -0.01153102]\r\n [ 0.03837708  0.02111896  0.01370878 -0.00136839  0.01906253]\r\n [ 0.03490672 -0.02791057  0.08824896 -0.01991765  0.01964361]\r\n [ 0.0811892   0.28361901  0.21539196 -0.00259571  0.28737829]\r\n [ 0.20022041  0.16184418  0.25939959  0.00546446  0.36415219]\r\n [ 0.22920615  0.27439767  0.36991198  0.00624375  0.39911759]]'

如您所见,它包含一个列表列表。但是,列表中的每个元素都由制表符而不是逗号分隔,因此ast.literal_eval()不起作用。有谁知道如何最好地将其转换为列表列表?

BJR ​</p>

标签: pythonlist

解决方案


修改字符串,直到它可以被literal_eval. 基本上这意味着在需要的地方添加一个“,”。

如果您的字符串被调用data

import ast
data = data.replace('  ', ',').replace('\r\n ', ',')
result = ast.literal_eval(dat2)

现在result将包含您的列表列表。

我不确定那里是否有空格或制表符。如果您有标签,则必须替换' ''\t\t'.


推荐阅读