我的程序之一的输出是一个二维数组,例如
[[1,2,3],[4,5,6,7],[8,9]]
不确定的长度。我将此输出作为一行写到文件geno_matrix中,然后需要将其读入另一个程序进行分析和处理。我需要将此作为另一个二维数组读入另一个程序。
显然,按分割,
将不起作用,因为我最后会得到一列括号和单个数字。如果我做
for line in geno_matrix:
vec = line.rstrip('\n').split(',')
这将分隔所有条目(和方括号)。我也尝试过
vec = line.rstrip('\n').split(',[')
它返回一个列表
['[[1,2,3],[4,5,6,7],[8,9]]']
所以这vec[0]
是字符串(不是数组)'[[1,2,3],[4,5,6,7],[8,9]]'
,这使我回到了最初的拆分问题。使用Python这样读取原始二维列表的最简单方法是什么?
您可以使用ast
的literal_eval
功能:
from ast import literal_eval
literal_eval('[[1,2,3], [4,5,6,7], [8,9]]')
将为您[[1,2,3], [4,5,6,7], [8,9]]
提供一个数组。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句