glu*_*uke 6 python arrays numpy formatted-text
它似乎对我来说微不足道,但我仍然缺少一种有效和"干净"的方式来插入属于numpy数组(as aa[:,:])的一系列元素在一个格式化的字符串中进行打印/写入.事实上,扩展的逐元素规范语法如下:
formattedline= '%10.6f %10.6f %10.6f' % (aa[ii,0], aa[ii,1], aa[ii,2])
file1.write(formattedline+'\n')
Run Code Online (Sandbox Code Playgroud)
在工作中.
但我还没有找到任何其他更短的解决方案,因为:
formattedline= '%10.6f %10.6f %10.6f' % (float(aa[ii,:]))
file1.write(formattedline+'\n')
Run Code Online (Sandbox Code Playgroud)
当然给出: TypeError: only length-1 arrays can be converted to Python scalars
要么:
formattedline= '%10.6f %10.6f %10.6f' % (aa[ii,:])
file1.write(formattedline+'\n')
Run Code Online (Sandbox Code Playgroud)
给:TypeError: float argument required, not numpy.ndarray.我尝试过迭代器,但没有成功.
当然,当要打印几个元素时,这很有趣.
那么:我怎样才能将迭代结合在numpy数组和字符串格式的时尚上?
你可以将它转换为元组:
formattedline = '%10.6f %10.6f %10.6f' % ( tuple(aa[ii,:]) )
Run Code Online (Sandbox Code Playgroud)
在更一般的情况下,您可以使用join:
formattedline = ' '.join('%10.6f'%F for F in aa[ii,:] )
Run Code Online (Sandbox Code Playgroud)