3 回答
TA贡献1993条经验 获得超5个赞
这是使用max和自定义函数的一种方法:
from operator import itemgetter
res = max(nums, key=lambda x: sum(map(itemgetter(1), x)))
[[2, 5000], [3, 4000]]
TA贡献1858条经验 获得超8个赞
DATA = [
[[1, 3000], [1, 2000]],
[[1, 3000], [2, 3000]],
[[1, 3000], [3, 4000]],
[[2, 5000], [1, 2000]],
[[2, 5000], [2, 3000]],
[[2, 5000], [3, 4000]],
[[3, 4000], [1, 2000]],
[[3, 4000], [2, 3000]],
[[3, 4000], [3, 4000]],
]
tups = [
(sum(n for _, n in row), row)
for row in DATA
]
mx = max(tups)
print(mx) # (9000, [[2, 5000], [3, 4000]])
print([xs[0] for xs in mx[1]]) # [2, 3]
TA贡献1840条经验 获得超5个赞
使用总和作为键对元素进行排序:
max(DATA, key=lambda x:x[0][1] + x[1][1])
#[[2, 5000], [3, 4000]]
这是发布数据的最快解决方案。
添加回答
举报