<p>考虑一下有几个相当长的numpy数组:</p>
<pre><code>importy numpy as np;
long_array1 = np.array([random.random() for i in range(10000)]);
long_array2 = np.array([random.random() for i in range(10000)]);
long_array3 = np.array([random.random() for i in range(10000)]);
</code></pre>
<p>我想将数组保存到文件<code>file.dat</code>,每个numpy数组一行。
数组的文本表示应采用类似python数组的格式,即在以下numpy数组的情况下:</p>
^{pr2}$
<p>我想在文件中保存以下行。在</p>
<pre><code>[0.3213,0.145323,0.852,0.723,0.421452]
</code></pre>
<p>我要做的是:</p>
<pre><code>array1_str = ",".join([str(item) for item in long_array1]);
array2_str = ",".join([str(item) for item in long_array2]);
array3_str = ",".join([str(item) for item in long_array3]);
with open("file.dat","w") as file_arrays:
file_arrays.write("[" + array1_str + "]\n");
file_arrays.write("[" + array2_str + "]\n");
file_arrays.write("[" + array3_str + "]\n");
</code></pre>
<p>其实一切都很好。我只是怀疑代码的效率。我几乎可以肯定,必须有另一种(更好、更高效)的方法来做到这一点。
我也欢迎对随机列表生成发表评论。在</p>