成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python標(biāo)準(zhǔn)庫(kù):內(nèi)置函數(shù)max(iterable, *[, key, default])說(shuō)明

瀏覽:3日期:2022-07-27 15:24:24

max(arg1, arg2, *args[, key])

本函數(shù)是迭代對(duì)象iterable進(jìn)行比較,找出最大值返回。當(dāng)key參數(shù)不為空時(shí),就以key的函數(shù)對(duì)象為判斷的標(biāo)準(zhǔn)。

例子:

#max() array1 = range(10)array2 = range(0, 20, 3)print(’max(array1)=’, max(array1))print(’max(array2)=’, max(array2))print(’max(array1,)=’, max(array1, key=lambda x: x > 3) )print(max(1, 2))print(max(’ah’, ’bf’, key=lambda x: x[1]))print(max(array1, array2, key=lambda x: x[1])) def comparator(x): return x[2]print(max(’ah2’, ’bf3’, key=comparator))

結(jié)果輸出如下:

max(array1)= 9max(array2)= 18max(array1,)= 42ahrange(0, 20, 3)bf3

補(bǔ)充知識(shí):python之lambda表達(dá)式 : 對(duì)于python中max函數(shù)的key參數(shù)的理解與使用

新版很6,預(yù)覽效果和實(shí)際顯示不同,代碼塊那里顯示成html格式的我表示十分無(wú)語(yǔ)。將就看吧。

之前在看別人代碼的時(shí)候看到了這樣的用法:

return max(self._children.items(), key=lambda act_node: act_node[1].get_value(c_puct))

表示對(duì)這個(gè)key值十分不解,然后上網(wǎng)一搜。哦!參考資料

lambda表達(dá)式:

其實(shí)lambda是一個(gè)匿名函數(shù),我們通常叫它lambda表達(dá)式,lambda存在意義就是對(duì)簡(jiǎn)單函數(shù)的簡(jiǎn)潔表示。

比如我們想實(shí)現(xiàn)這樣的函數(shù):

def func(arg):return arg + 1

為了使代碼更簡(jiǎn)潔,lambda登場(chǎng),把上面的函數(shù)變形成:

lambda arg : arg + 1

所以,lambda a : b , 實(shí)際上就是:lambda是一個(gè)輸入值為a,返回值為b的函數(shù)。

max函數(shù)中的lambda表達(dá)式

現(xiàn)在回到我們的max函數(shù)中,就十分容易理解了:

函數(shù)形式:max( x ,key=lambda a : b ) # x可以是任何數(shù)值,可以有多個(gè)x值

這個(gè)函數(shù)的意思是:我們先把x值帶入lambda函數(shù)轉(zhuǎn)換成b值,然后再將b值進(jìn)行比較。

上代碼:

haha0=max(’az’,’za’, key=lambda a: a[0])haha1=max(’az’,’za’, key=lambda a: a[1])haha2=max(range(10),key=lambda a:a>3) print(haha0) #輸出zaprint(haha1) #輸出azprint(haha2) #輸出4

以haha0為例子:我們傳入az,za,為了方便解釋稱之為虛擬比較,但是因?yàn)槲覀円肓薼ambda表達(dá)式,所以,我們實(shí)際上比較的是,az中的第一位a和za中第一位的z,由ascii碼表可以知道a是小于z的,所以在這里最大的是z,那么我們返回的就是z的虛擬比較變量,也就是本來(lái)的'za'。

haha2的用法十分少見(jiàn),實(shí)際上比較的是

F F F T T T T T T T ( False 和 True )

T是肯定比F大的,但是一堆True哪里能互相比較大小呢,所以就輸出第一個(gè)True值的虛擬比較變量,也就是4啦。

max中帶有l(wèi)ambda的這個(gè)寫法的意義在于代碼變得更簡(jiǎn)潔。

假如我們有一個(gè)字典,里面記錄著人名和相應(yīng)年齡,現(xiàn)在我們想要在里面篩選出年齡最大的那個(gè)人的一條字典記錄。

x={'老王' :18 , '小李':99}haha3=max(x.items(), key=lambda a: a[1])print(haha3) #輸出(’小李’, 99)

要注意使用字典的話一定要x.items(),不能直接輸入x值,達(dá)不到我們想要的效果。

其實(shí)我們大可不必這么寫,直接從字典中提取出年齡列表進(jìn)行比較:

x={'老王' :18 , '小李':99}y=[]for name,age in x.items(): y.append(age)haha4=max(y)print(haha4)

只是這樣寫是比較麻煩以及浪費(fèi)內(nèi)存的不是么?我想這就是max函數(shù)中設(shè)置lambda表達(dá)式的意義。

以上這篇Python標(biāo)準(zhǔn)庫(kù):內(nèi)置函數(shù)max(iterable, *[, key, default])說(shuō)明就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
主站蜘蛛池模板: 80岁色老头69av| 暖暖在线精品日本中文 | 国产日韩欧美视频 | 国产一级性片 | 亚洲精品中文字幕字幕 | 114一级毛片免费 | 欧美不卡视频在线观看 | 99精品视频一区在线观看miya | 欧美在线不卡 | 精品国产自 | 亚洲国产激情一区二区三区 | 99在线国产视频 | 日本免费一区二区三区视频 | 黄色一级网址 | 国产亚洲精品一区999 | 一级片大全 | a级毛片在线播放 | 在线观看免费国产 | 看片亚洲 | 国产精品三级在线播放 | 久香草视频在线观看免费 | 欧美成免费 | 国产年成美女网站视频免费看 | 午夜欧美| 亚洲高清毛片 | 亚洲高清免费视频 | 久草在在线视频免费 | 美美女高清毛片视频免费观看 | 日韩精品a在线视频 | 欧美最黄视频 | 97久久国语露脸精品对白 | a级片在线 | 草久在线播放 | 萌白酱福利视频在线网站 | 成人精品第一区二区三区 | 亚洲一区成人 | 拍拍拍又黄又爽无挡视频免费 | 久久精品在线免费观看 | 国产午夜精品一区二区三区不卡 | 国产成人免费网站 | 91av视频在线 |