python max函式中使用key

2021-09-04 12:58:48 字數 1344 閱讀 6295

部落格轉移到個人站點: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...