我是 Python 新手,我有一个解决方案,但它看起来很慢而且很愚蠢,所以我想知道是否有更好的方法?
假设我有一个这样定义的矩阵:
mat = [['hello']*4 for x in xrange(3)]
我正在使用此函数将其写入文件:
def writeMat(mat, outfile):
with open(outfile, "w") as f:
for item in mat:
f.writelines(str(item).replace('[','').replace(',','').replace('\'','').replace(']','\n'))
writeMat(mat, "temp.txt")
这给出了一个如下所示的文本文件:
hello hello hello hello
hello hello hello hello
hello hello hello hello
我正在处理的文件非常大。numpy 中的savetxt
函数会很棒,但我不想将其存储为 numpy 数组,因为虽然矩阵的大部分由单个字符元素组成,但前几列的长度将是许多字符,而且它似乎我(如果我错了,请纠正我)这意味着整个矩阵将使用比必要更多的内存,因为矩阵中的每个元素都是最大元素的大小。