Aim : Program to compute the sum of two matrices and then print it in Python.
Examples:
Input : X= [[1,2,3], [4 ,5,6], [7 ,8,9]] Y = [[9,8,7], [6,5,4], [3,2,1]] Output : result= [[10,10,10], [10,10,10], [10,10,10]]
We can perform matrix addition in following ways in Python.

Using for loop:
# Program to add two matrices using nested loop
X
=
[[
1
,
2
,
3
],
[
4
,
5
,
6
],
[
7
,
8
,
9
]]
Y
=
[[
9
,
8
,
7
],
[
6
,
5
,
4
],
[
3
,
2
,
1
]]
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)
chevron_rightfilter_noneOutput:
[10, 10, 10] [10, 10, 10] [10, 10, 10]
Explanation :
In this program we have used nested for loops to iterate through each row and each column. At each point we add the corresponding elements in the two matrices and store it in the result. 
Using nested list comprehension : In Python, we can implement a matrix as nested list (list inside a list). We can treat each element as a row of the matrix.
# Program to add two matrices
# using list comprehension
X
=
[[
1
,
2
,
3
],
[
4
,
5
,
6
],
[
7
,
8
,
9
]]
Y
=
[[
9
,
8
,
7
],
[
6
,
5
,
4
],
[
3
,
2
,
1
]]
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)
chevron_rightfilter_noneOutput:
[10, 10, 10] [10, 10, 10] [10, 10, 10]
Explanation :
The output of this program is the same as above. We have used nested list comprehension to iterate through each element in the matrix. List comprehension allows us to write concise codes and we must try to use them frequently in Python. They are very helpful. 
Using zip() and sum
# Program to add two matrices
# using zip()
X
=
[[
1
,
2
,
3
],
[
4
,
5
,
6
],
[
7
,
8
,
9
]]
Y
=
[[
9
,
8
,
7
],
[
6
,
5
,
4
],
[
3
,
2
,
1
]]
result
=
[
map
(
sum
,
zip
(
*
t))
for
t
in
zip
(X, Y)]
print
(result)
chevron_rightfilter_noneOutput:
[[10, 10, 10], [10, 10, 10], [10, 10, 10]]
Explanation :
The zip function accepts iterator i of each element(list) of matrix, mapping them, adding them using sum() and storing them in the map form.
This article is contributed by ajay0007. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above..
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.
Recommended Posts:
 Python program to add two matrices
 Java Program to Add two Matrices
 Python program to multiply two matrices
 Python List Equality  Program to check if two given matrices are identical
 Program for addition of two matrices
 Program to check if two given matrices are identical
 Java Program to Multiply two Matrices of any size
 Program to concatenate two given Matrices of same size
 Program to multiply two matrices
 Multiplication of two Matrices in Single line using Numpy in Python
 Kronecker Product of two matrices
 Count pairs from two sorted matrices with given sum
 Find the intersection of two Matrices
 Minimum elements to be added so that two matrices can be multiplied
 Check if the given two matrices are mirror images of one another
 Program for subtraction of matrices
 Multiply matrices of complex numbers using NumPy in Python
 Adding and Subtracting Matrices in Python
 Count submatrices having sum divisible 'k'
 A square matrix as sum of symmetric and skewsymmetric matrices
Improved By : manjeet_04