python中字典如何找出最值,以及找到最值後返回對應的key

時間 2021-06-02 07:12:36

1樓:2gua

來乙個,比較靈活的:

from

functools

import

reduce

data

=def

refn

(acc

,elem

):key

,lst

=elem

fork,v

inlst:if

k==acc[

'fname'

]:return

(acc

ifacc

['val'

]>velse

)return

accdef

maxseek

(refn

,data

,needle

):mrec

=return

reduce

(refn

,data

.items

(),mrec

)執行結果:

In [2]: maxseek(refn, data, 'watermelon'

)Out[2]:

In [3]: maxseek(refn, data, 'cake'

)Out[3]:

)Out[4]:

In [6]: maxseek(refn, data, 'banana'

)Out[6]:

2樓:

from

operator

import

itemgetterdl=

(for

(name,((

_,),(

_,banana

)))in

data

.items())

max(dl,

key=

itemgetter())

min(dl,

key=

itemgetter

('banana'))

3樓:凌心誠

自己寫乙個遍歷k,v對,做程式設計師不能老想著用別人的方法,雖然python給了很多方法,但那些方法都只是底層的積木塊,你要搭上層建築,都是自己寫

Python中如何複製乙個值或字串?

豌豆花下貓 update 實際上存在複製字串的方法。例如 join str 詳見這篇文章 join 方法的神奇用處與Intern機制的軟肋 以下是原回答 正想問同樣的問題,發現有人問了。不過看到這麼少人回答,還答非所問,就知道像我們這樣敏銳的人還是太少了。我先幫題主補充一下問題,這樣讀者才有正確思考...

如何在Python高階閉包中得到最外層函式的環境變數?

已登出 你不shadow不行嗎 shadowing的用意就是隱藏外層作用域的變數,你這 我要用同名變數隱藏掉外層,還要能有辦法訪問到外層 這邏輯真的太矛盾了。def fn1 a 11 def fn2 b 22 def fn3 print a return fn3 return fn2 a 0 f2 ...

如何使用python中timedelta這個類實現月份的累加。

首先這個問題用timedelta沒有直接的實現方法,給你兩個造好的輪子,你看哪個爽用哪個 import datetime z datetime.datetime 2016,12,17 1.import dateutil z dateutil.relativedelta.relativedelta m...