对我来说,这似乎很琐碎,但我仍然缺少一种高效且“干净”的方法,将属于numpy数组的一系列元素(如aa[:,:]
)插入格式化字符串以进行打印/写入。
实际上,扩展的逐个元素规范语法如下:
formattedline= '%10.6f %10.6f %10.6f' % (aa[ii,0], aa[ii,1], aa[ii,2])
file1.write(formattedline+'\n')
正在运作。
但是我没有找到其他更短的解决方案,因为:
formattedline= '%10.6f %10.6f %10.6f' % (float(aa[ii,:]))
file1.write(formattedline+'\n')
当然会出现以下错误:
TypeError: 只有长度为1的数组可以转换为Python标量
或者:formattedline= '%10.6f %10.6f %10.6f' % (aa[ii,:])
file1.write(formattedline+'\n')
出现错误:TypeError:需要浮点参数,而不是numpy.ndarray
。
我已经尝试过迭代器,但没有成功。
当需要打印多个元素时,这当然很有趣。
那么:如何将对numpy数组的迭代和字符串格式化方式结合起来?
formattedline= ' %4s %10.6f %10.6f %10.6f' % (string1, (tuple(aa[ii,:])))
,仍然会出现“TypeError: float argument required, not tuple”的错误,我不明白为什么。 - gluuke(string1,)+tuple(aa[ii,:])
。 - Andy Hayden