3 回答

TA貢獻1993條經驗 獲得超6個贊
這是使用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]]
這是發布數據的最快解決方案。
添加回答
舉報