如何在python中添加矩阵

时间:2016-02-04 21:33:40

标签: python matrix

如何在python中添加矩阵(列表列表)?我知道我可以这样做:

X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

Y = [[5,8,1],
    [6,7,3],
    [4,5,9]]

result = [[0,0,0],
         [0,0,0],
         [0,0,0]]

# iterate through rows
for i in range(len(X)):
   # iterate through columns
   for j in range(len(X[0])):
       result[i][j] = X[i][j] + Y[i][j]

for r in result:
   print(r)

但是,如果两个列表的输入具有不同的行数或列数,该怎么办?我需要首先检查在添加之前是否相同的行数和列数,我不知道如何执行此操作。

1 个答案:

答案 0 :(得分:1)

执行大小检查,然后使用双嵌套列表推导直接构建结果。 Numpy更好,但是如果你想避免导入,那就可以了。

X = [[12,7,3],
     [4 ,5,6],
     [7 ,8,9]]

Y = [[5,8,1],
     [6,7,3],
     [4,5,9]]

if len(X) == len(Y) and len(X[0]) == len(Y[0]):
    result = [[X[i][j] + Y[i][j] for j in range(len(X[0]))]
              for i in range(len(X))]

print result

输出:

[[17, 15, 4], [10, 12, 9], [11, 13, 18]]