簡體   English   中英

如何在值的數組中某個位置給定值的字典的最大項目?

[英]How to give the max item of a dictionary given a value somewhere in an array in the value?

在python中,說我有字典

{1:[1,333], 2:[5,22], 3:[8:0]}

我想通過值數組中的第二項返回字典中的最大項,因此在這種情況下,333擊敗了所有剩余數字在同一位置,我希望函數可以返回

(1,[1,33])

是否有任何巧妙的方法可以將max()與key或其他方法一起使用?

>>> d = {1:[1,333], 2:[5,22], 3:[8, 0]}
>>> max(d.items(), key=lambda e: e[1][1])
(1, [1, 333])

您可以使用max()key參數來實現這一點,即:

d = {1:[1,333], 2:[5,22], 3:[8,0]}
# Use d[k][1] so that max is based on the second
#   item in each list
max_key = max(d, key=lambda k: d[k][1])
print((max_key, d[max_key]))
(1, [1, 333])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM