使用 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)]
要总结它们,您可以使用 sum
和 map
:
sum = list(map(sum, zip(*matrix)))
输出:
[15, 18, 21]
下面有 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)]
要总结它们,您可以使用 sum
和 map
:
sum = list(map(sum, zip(*matrix)))
输出:
[15, 18, 21]