Добавление элементов матрицы таким способом - PullRequest
0 голосов
/ 15 февраля 2020

Я написал этот код, чтобы добавить элементы таким образом, моя проблема в том, что я хочу применить его к более крупной матрице

zz=[[1,2],[3,4]]
for i in range(len(zz[0])):
    x=zz[0][i]
    for i in range(len(zz[1])):
        xx=x+zz[1][i]
        print(xx)

Вывод будет:

z[0][0]+z[1][0]
z[0][0]+z[1][1]
z[0][1]+z[1][0]
z[0][0]+z[1][1]

1 Ответ

0 голосов
/ 15 февраля 2020

Вы можете использовать для этого рекурсию:

def sum_combinations(matrix):
    head, *tail = matrix
    if not tail:  # we reached the last row
        yield from head
        return
    for number in head:
        for other in sum_combinations(tail):
            yield number + other

Это должно работать для матрицы любого размера.

Использование:

for sum_ in sum_combinations(zz):
    print(sum_)
...