欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2020年04月25日 10:55:32   作者:caimouse  
這篇文章主要介紹了Python標準庫:內置函數max(iterable, *[, key, default])說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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)= 9
max(array2)= 18
max(array1,)= 4

2
ah
range(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)  #輸出za
print(haha1)  #輸出az
print(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中帶有l(wèi)ambda的這個寫法的意義在于代碼變得更簡潔。

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

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?Decorator裝飾器的創(chuàng)建方法及常用場景分析

    Python?Decorator裝飾器的創(chuàng)建方法及常用場景分析

    這篇文章主要介紹了Python?Decorator裝飾器的創(chuàng)建方法及常用場景,裝飾器可以分成方法裝飾器和類裝飾器,他們的區(qū)別是一個是用函數實現的裝飾器,一個是用類實現的裝飾器,他們也都能在方法和類上進行裝飾,需要的朋友可以參考下
    2022-07-07
  • python 文件與目錄操作

    python 文件與目錄操作

    可以使用簡單的方法匹配某個目錄下的所有子目錄或文件,用法也很簡單。
    2008-12-12
  • Python中re模塊下的函數詳解

    Python中re模塊下的函數詳解

    這篇文章主要介紹了Python中re模塊下的函數詳解,re.match() 函數是從頭開始匹配一個符合規(guī)則的字符串,從起始位置開始匹配,匹配成功返回一個對象,未匹配成功返回None,需要的朋友可以參考下
    2023-08-08
  • Python編程中*args與**kwargs區(qū)別作用詳解

    Python編程中*args與**kwargs區(qū)別作用詳解

    這篇文章主要介紹了Python編程中*args與**kwargs區(qū)別作用詳解
    2021-10-10
  • keras自定義損失函數并且模型加載的寫法介紹

    keras自定義損失函數并且模型加載的寫法介紹

    這篇文章主要介紹了keras自定義損失函數并且模型加載的寫法介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python使用matplotlib繪制圓形代碼實例

    Python使用matplotlib繪制圓形代碼實例

    這篇文章主要介紹了Python使用matplotlib繪制圓形代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • Python pygame實現圖像基本變換的示例詳解

    Python pygame實現圖像基本變換的示例詳解

    pygame的transform中封裝了一些基礎的圖像處理函數,這篇文章主要為大家介紹了pygame實現圖像的基本變換,例如縮放、旋轉、鏡像等,感興趣的小伙伴可以了解一下
    2023-11-11
  • 解析ROC曲線繪制(python+sklearn+多分類)

    解析ROC曲線繪制(python+sklearn+多分類)

    這篇文章主要介紹了解析ROC曲線繪制(python+sklearn+多分類),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • python基于itchat實現微信群消息同步機器人

    python基于itchat實現微信群消息同步機器人

    本篇文章主要介紹了python基于itchat實現微信群消息同步機器人,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • python3實現windows下同名進程監(jiān)控

    python3實現windows下同名進程監(jiān)控

    這篇文章主要為大家詳細介紹了python3實現windows下同名進程監(jiān)控,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06

最新評論