<p>快速回答:</p>
<pre><code>arrays = []
for line in open(your_file): # no need to use readlines if you don't want to store them
# use a list comprehension to build your array on the fly
new_array = np.array((array.float(i) for i in line.split(' ')))
arrays.append(new_array)
</code></pre>
<p>如果您经常处理此类数据,csv模块将提供帮助。</p>
<pre><code>import csv
arrays = []
# declare the format of you csv file and Python will turn line into
# lists for you
parser = csv.reader(open(your_file), delimiter=' '))
for l in parser:
arrays.append(np.array((array.float(i) for i in l)))
</code></pre>
<p>如果你感到狂野,你甚至可以让这个完全声明:</p>
<pre><code>import csv
parser = csv.reader(open(your_file), delimiter=' '))
make_array = lambda row : np.array((array.float(i) for i in row))
arrays = [make_array(row) for row in parser]
</code></pre>
<p>如果你真的想让你的同事讨厌你,你可以做一个单行本(一点也不是Python):</p>
<pre><code>arrays = [np.array((array.float(i) for i in r)) for r in csv.reader(open(your_file), delimiter=' '))]
</code></pre>
<p>剥离所有的锅炉板和灵活性,你可以结束一个干净和相当可读的一行。我不想使用它,因为我喜欢使用<code>csv</code>的重构潜力,但它可以很好。这是一个灰色地带,所以我不认为它是Python,但它确实很方便。</p>
<pre><code>arrays = [np.array((array.float(i) for i in l.split())) for l in open(your_file))]
</code></pre>