我想从文件中读取数据到双嵌套列表。我怎么能在Python 3中做到这一点?我知道如果我事先知道尺寸,我可以写
# Creates a list containing 5 lists, each of 8 items, all set to 0
w, h = 8, 5;
Matrix = [[0 for x in range(w)] for y in range(h)]
就像How to define a two-dimensional array in Python一样。但在我的情况下,我从文件中读取数据,我事先并不知道有多少数据。因此,想法是在阅读时增加矩阵大小,例如 第一
1 2 3
然后
1 2 3
2 3 4
然后
1 2 3
2 3 4
3 4 5
等等。
答案 0 :(得分:0)
您只需append
到rows
Matrix = []
for row in rows:
Matrix.append(row)
这样矩阵就会增长。
你可以像这样使用它:
from io import StringIO
matrix1_txt='''1 2 3
'''
matrix2_txt='''1 2 3
4 5 6
'''
matrix3_txt='''1 2 3
4 5 6
7 8 9
'''
Matrix = []
with StringIO(matrix3_txt) as file:
for line in file:
Matrix.append([int(i) for i in line.split()])
print(Matrix) # [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
(如果您的数据位于名为StringIO(matrix3_txt)
的文本文件中,则需要open('file.txt', 'r)
替换file.txt