将两个列表列表的整数相加

Ama*_*der 0 python list add nested-lists python-3.x

我正在尝试编写一个函数,该函数接受两个数字列表列表并返回一个列表列表,其中两个给定列表列表中的每个相应数字加在一起。不使用任何第三方库(例如不使用熊猫)。

它应该像这样工作:

>>> matrix1 = [[1, -2], [-3, 4]]
>>> matrix2 = [[2, -1], [0, -1]]
>>> add(matrix1, matrix2)
[[3, -3], [-3, 3]]
Run Code Online (Sandbox Code Playgroud)

我目前的代码:

list_3 = []


# Add function

def add(*args):
    for arg in args:
        for i in range(0, len(args)):
                list_3.append(arg[i - 1] + arg[i - 1] + arg[i - 1])
                print(f"Result: {list_3}")
Run Code Online (Sandbox Code Playgroud)

我的代码不起作用。帮助将不胜感激。

Sam*_*ord 6

使用以下几个嵌套理解很容易做到这一点zip

>>> matrix1 = [[1, -2], [-3, 4]]
>>> matrix2 = [[2, -1], [0, -1]]
>>> [[a + b for a, b in zip(x, y)] for x, y in zip(matrix1, matrix2)]
[[3, -3], [-3, 3]]
Run Code Online (Sandbox Code Playgroud)

或者可能使用mapsum来构建内部列表:

>>> [list(map(sum, zip(x, y))) for x, y in zip(matrix1, matrix2)]
[[3, -3], [-3, 3]]
Run Code Online (Sandbox Code Playgroud)