如何在Python3中创建未知数量的数据矩阵?

时间:2018-02-27 07:00:19

标签: python-3.x matrix

我想从文件中读取数据到双嵌套列表。我怎么能在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

等等。

1 个答案:

答案 0 :(得分:0)

您只需appendrows

列表即可
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