# Python 程序：相加两个矩阵

> 原文： [https://www.programiz.com/python-programming/examples/add-matrix](https://www.programiz.com/python-programming/examples/add-matrix)

#### 在此程序中，您将学习使用嵌套循环和列表推导式来相加两个矩阵，并显示它们。

要理解此示例，您应该了解以下 [Python 编程](/python-programming "Python tutorial")主题：

*   [Python `for`循环](/python-programming/for-loop)
*   [Python 列表](/python-programming/list)

* * *

在 Python 中，我们可以将矩阵实现为嵌套列表（列表内的列表）。 我们可以将每个元素视为矩阵的一行。

例如，`X = [[1, 2], [4, 5], [3, 6]]`将代表 3x2 矩阵。 第一行可以选择为`X[0]`，第一行中的元素可以选择为`X[0][0]`。

我们可以在 Python 中以各种方式执行矩阵加法。 这里有几个。

## 源代码：使用嵌套循环的矩阵加法

```py
# Program to add two matrices using nested loop

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)

```

**输出**

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

在此程序中，我们使用了嵌套的`for`循环来遍历每一行和每一列。 在每一点上，我们在两个矩阵中添加相应的元素，并将其存储在结果中。

## 源代码：使用嵌套列表推导式的矩阵加法

```py
# Program to add two matrices using list comprehension

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

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

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

for r in result:
   print(r)
```

该程序的输出与上述相同。 我们使用嵌套列表推导式来遍历矩阵中的每个元素。

列表推导式允许我们编写简洁的代码，我们必须尝试在 Python 中经常使用它们。 他们非常有帮助。