快速回答: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)
如果您经常处理此类数据,csv模块将提供帮助。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)))
如果你感到狂野,你甚至可以让这个完全声明: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]
如果你真的想让你的同事讨厌你,你可以做一个单行本(一点也不是Python):arrays = [np.array((array.float(i) for i in r)) for r in csv.reader(open(your_file), delimiter=' '))]
剥离所有的锅炉板和灵活性,你可以结束一个干净和相当可读的一行。我不想使用它,因为我喜欢使用csv的重构潜力,但它可以很好。这是一个灰色地带,所以我不认为它是Python,但它确实很方便。arrays = [np.array((array.float(i) for i in l.split())) for l in open(your_file))]