如何找到具有最小元素总和的列索引。我想找到使用lambdas的简短解决方案。 例如,对于给定的矩阵:
[[7, 2, 7, 2, 8],
[2, 9, 4, 1, 7],
[3, 8, 6, 2, 4],
[2, 5, 2, 9, 1],
[6, 6, 5, 4, 5]]
它应该返回3
。因为第三列具有最小的元素总和。
答案 0 :(得分:1)
使用numpy
,您可以按列sum
使用argmin()
查找最小和索引:
import numpy as np
np.array(lst).sum(axis = 0).argmin()
# 3
或者您可以在不使用numpy
包的情况下使用列表理解:
min(((i, sum(v)) for i, v in enumerate(zip(*lst))), key = lambda x: x[1])[0]
# 3
zip(*lst)
转置列表