使用 lambda 和 map 解析矩阵列表

resolve matrix lists with lambda and map

下面有 3 个列表


    [2,3,4]
    [5,6,7]
    [8,9,10]

那么,我们如何将列表中所有相似的索引加在一起呢? 我的意思是 2 和 5 和 8 是一起求和 & 3 和 6 和 9 也是一起求和 & 4 和 7 和 10 也是吗?但只需使用 lambda 和映射...

其实我对此一无所知,此代码仅用于发送此问题


    x=[
    [5,8,1],
    [9,4,7],
    [2,6,3],
    ]
    
    
    print(list(map(lambda x : x[1], x)))

您可以zip输入数据:

matrix = [[2,3,4],
          [5,6,7],
          [8,9,10]]

out = list(map(sum, zip(*matrix)))

或使用列表理解:

out = [sum(x) for x in zip(*matrix)]

输出:[15, 18, 21]

将它们放在一起使用 zip:

new = list((zip(*matrix)))

输出:

[(2, 5, 8), (3, 6, 9), (4, 7, 10)]

要总结它们,您可以使用 summap:

sum = list(map(sum, zip(*matrix)))

输出:

[15, 18, 21]