Как просуммировать списки разных размеров?

def suma(x,y):
    i = 0
    z=[]
    while i< len(x)<len(y):
        z.append(x[i]+y[i])
        i+=1
    return z

print(suma([1,2,3],[1,2,3,4]))

Ответы (1 шт):

Автор решения: MaxU

воспользуйтесь функцией itertools.zip_longest():

from itertools import zip_longest

res = [a+b for a,b in zip_longest(x, y, fillvalue=0)]

результат:

In [58]: res
Out[58]: [2, 4, 6, 4]
→ Ссылка