Как суммировать векторные массивы в списке списков? - PullRequest
0 голосов
/ 10 июля 2020

Я хочу суммировать список векторов в списке, сохраняя их размерность и структуру списка. Как это можно сделать?

Учитывая вектор vecs = [[[1, 1], [2, 2], [3, 3], [4, 4]],[[5, 5], [6, 6], [7, 7],[8, 8]]]

и ожидаемый результат vecs_sum = [[10,10],[26,26]]

Я пробовал следующее, но он просто возвращает [] .

vec_sum = []
for inner_list in vec_sum:
  temp = []
  for arr in inner_list:
    temp = [sum(x) for x in zip(arr)]
  vec_sum.append(temp)

1 Ответ

1 голос
/ 10 июля 2020

Это один подход, использующий понимание списка

Пример:

vecs = [[[1, 1], [2, 2], [3, 3], [4, 4]],[[5, 5], [6, 6], [7, 7],[8, 8]]]
vecs_sum = [list(map(sum, zip(*i))) for i in vecs]
print(vecs_sum)

Вывод:

[[10, 10], [26, 26]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...