Как сложить целые числа вместе в двух матрицах с помощью функции zip() в Python

#python #zip

#python #zip

Вопрос:

Я не могу понять, как сложить целые числа вместе в двух матрицах с помощью zip() функции. Вот что у меня есть:

 matrix_a = [[3,6],[4,5]]

matrix_b = [[5,8],[6,7]]
  

Мне нужно распечатать (используя zip() ):

 [[8,14],[10,12]]
  

Комментарии:

1. Я добавил ответ на ваш вопрос.

Ответ №1:

Следующее понимание списка сделает свое дело:

 >>> [[x   y for x, y in zip(a, b)] for a, b in zip(matrix_a, matrix_b)]
[[8, 14], [10, 2]]
  

Если вы хотите версию, использующую циклы:

 result = []
for a, b in zip(matrix_a, matrix_b):
    current_list = []
    for x, y in zip(a, b):
        current_list.append(x   y)
    result.append(current_list)
>>> result
[[8, 14], [10, 2]]
  

Тем не менее, мне определенно больше нравится версия для понимания, ее легче читать.

Комментарии:

1. Я считаю, что в версии для понимания есть один дополнительный уровень [] .

2. @RiversShall, я просто исправил свой ответ и добавил версию с использованием циклов for. Хороший улов!