色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Python標準庫:內置函數max(iterable, *[, key, default])說明

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

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

本函數是迭代對象iterable進行比較,找出最大值返回。當key參數不為空時,就以key的函數對象為判斷的標準。

例子:

#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))

結果輸出如下:

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

補充知識:python之lambda表達式 : 對于python中max函數的key參數的理解與使用

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

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

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

表示對這個key值十分不解,然后上網一搜。哦!參考資料

lambda表達式:

其實lambda是一個匿名函數,我們通常叫它lambda表達式,lambda存在意義就是對簡單函數的簡潔表示。

比如我們想實現這樣的函數:

def func(arg):return arg + 1

為了使代碼更簡潔,lambda登場,把上面的函數變形成:

lambda arg : arg + 1

所以,lambda a : b , 實際上就是:lambda是一個輸入值為a,返回值為b的函數。

max函數中的lambda表達式

現在回到我們的max函數中,就十分容易理解了:

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

這個函數的意思是:我們先把x值帶入lambda函數轉換成b值,然后再將b值進行比較。

上代碼:

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,為了方便解釋稱之為虛擬比較,但是因為我們引入了lambda表達式,所以,我們實際上比較的是,az中的第一位a和za中第一位的z,由ascii碼表可以知道a是小于z的,所以在這里最大的是z,那么我們返回的就是z的虛擬比較變量,也就是本來的'za'。

haha2的用法十分少見,實際上比較的是

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

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

max中帶有lambda的這個寫法的意義在于代碼變得更簡潔。

假如我們有一個字典,里面記錄著人名和相應年齡,現在我們想要在里面篩選出年齡最大的那個人的一條字典記錄。

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

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

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

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

只是這樣寫是比較麻煩以及浪費內存的不是么?我想這就是max函數中設置lambda表達式的意義。

以上這篇Python標準庫:內置函數max(iterable, *[, key, default])說明就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
主站蜘蛛池模板: 成人做爰视频www片 成人做爰视频www视频 | 免费大片黄手机在线观看 | 国产精品27页 | 国产97在线观看 | japanese色系国产在线高清 | 中国国产一级毛片 | 中文字幕曰韩一区二区不卡 | 中文字幕日本不卡 | 一区二区三区在线视频观看 | ⅹxx中国xxx人妖 | 在线免费成人网 | 亚洲午夜在线播放 | 初爱视频教程在线观看高清 | 在线男人天堂 | 国产在线观看免费视频软件 | 免费三级网站 | 欧美日韩第二页 | 日韩一区国产二区欧美三 | 最新版天堂资源中文官网 | 中文字幕在线观看亚洲日韩 | 国产手机在线视频放线视频 | 精品一区二区三区在线观看 | 欧美激情国产一区在线不卡 | 免费一级欧美片在线观免看 | 国产com| 香港三级日本三级人妇网站 | 久久久成人影院 | 成年网站视频在线观看 | 国产成人毛片毛片久久网 | 国产高清自拍 | 欧美精品综合一区二区三区 | a毛片免费视频 | 成人18网站| 欧美成人性色大片在线观看 | 巴西一级毛片 | 草草日| 三级全黄a | 国产日韩久久 | 国内精品久久久久影院免费 | 国产一级做a爰片在线看 | 精品日韩欧美一区二区三区在线播放 |