部落格轉移到個人站點:python max函式中使用key
**:
a =
dict((
(1,3
),(0
,-1)
,(3,
21)))
m =max
(a, key=a.get)
為什麼這返回與最大值對應的鍵?
字典「a」是python中的乙個可迭代的結構。當您在a中迴圈使用x時,您將迴圈使用字典中的鍵。
在第二行中,max函式有兩個引數:乙個可迭代物件(a)和乙個可選的「key」函式。 key功能將用於評估a中最大的專案的值。
例子:
>>
> a =
dict((
(1,3
),(0
,-1)
,(3,
21)))
>>
>
for x in a:..
.print x #output the value of each item in our iteration..
.013
請注意,只輸出「鍵」。當我們通過這些鍵到「獲得」
>>
> a.get(0)
-1>>
> a.get(1)
3>>
> a.get(3)
21
我們得到每個鍵的值。現在看看最大功效。
>>
> b=[2
,3,5
,6,4
]>>
>
max(b)
6>>
>
definverse
(x):..
.return
1.0/ x..
.>>
>
max(b, key=inverse)
2
如您所見,max(預設情況下)將在我們的可迭代列表中找到最大的數字。如果我們定義「反」函式,它將返回b中最大的項,其中inverse(item)是最大的。
結合這兩個專案,我們看到max(a,key = a.get)將返回乙個a.get(item)的值最大的項。即對應於最大值的鍵。
總結:1、key後面是函式
2、max遍歷dict的值,取最大
3、key後面的函式通過這個值去查詢對應的鍵
4、不加key這個函式的話,預設遍歷的是字典的key,最後輸出最大的鍵
阿布的進擊
python max函式技巧
max args,key none 返回最大值 max iterable,default obj,key func value max arg1,arg2,args,key func value初級技巧 tmp max 1,2,4 print tmp 可迭代物件 a 1,2,3,4,5,6 tmp ...
makefile中使用函式
一 編譯需要的檔案 1 file1.h ifndef file1 h define file1 h ifdef cplusplus extern c endif endif2 file1.cpp include include file1.h using namespace std void fil...
Vue render 函式中使用this
1.在render中直接使用this,on裡面click函式不是箭頭函式 使用this需要在父級將this儲存起來才能使用 render h,params params let this this return h div style on this.previewurl row.picture t...