主頁(yè) > 知識(shí)庫(kù) > Python max函數(shù)中key的用法及原理解析

Python max函數(shù)中key的用法及原理解析

熱門(mén)標(biāo)簽:呼叫中心市場(chǎng)需求 檢查注冊(cè)表項(xiàng) 鐵路電話系統(tǒng) 智能手機(jī) 服務(wù)器配置 美圖手機(jī) 網(wǎng)站文章發(fā)布 銀行業(yè)務(wù)

一、背景

起源于一個(gè)問(wèn)題:怎樣找到字符串中出現(xiàn)次數(shù)最多的字符

其實(shí)使用max函數(shù)就能很輕松的解決這個(gè)問(wèn)題:

代碼:

str1 = "AAAaaa8888899sssss"
print(max(str1, key=str1.count))

結(jié)果:8

二、原理

max()函數(shù)用于獲得給定的可迭代對(duì)象中的最大值。

key是max()函數(shù)的一個(gè)參數(shù),它輔助max函數(shù)找到最大元素。當(dāng)max() 函數(shù)中有 key 參數(shù)時(shí),求的是 value 的最大值,當(dāng)沒(méi)有 key 參數(shù)時(shí),求的是 key 的最大值。

key可以對(duì)要比較的對(duì)象進(jìn)行一些處理,以達(dá)到對(duì)對(duì)象進(jìn)行特定規(guī)則的比較。

要在比較之前修改對(duì)象,或基于特定的屬性/索引進(jìn)行比較,必須使用key參數(shù)。

三、用法

獲取字典中key的最大值

dict1 = {'a': '11', 'c': '22', 'b': '33'}
print(max(dict1))
print(max(dict1.keys()))

獲取字典中最大value對(duì)應(yīng)的key值

dict1 = {'a': '11', 'c': '22', 'b': '33'}
print(max(dict1, key=dict1.get))
print(max(dict1, key=lambda x: dict1[x]))

獲取字典中最大value的值

dict1 = {'a': '11', 'c': '22', 'b': '33'}
print(max(dict1.values()))

獲取句子中的最長(zhǎng)單詞

str3 = "Life is short , I use python"
print(str3.split())
print(max(str3.split(), key=len))

獲取list中的最大值

list1 = ['11', 'zzz', '22', 'eee']
print(max(list1))

獲取list中的最大數(shù)值

list2 = ['11', '3', '222', '67']
print(max(list2, key=lambda x: int(x)))

獲取list中的絕對(duì)值最大的值

list3 = ['11', '-399', '222', '67']
print(max(list2, key=lambda x: abs(int(x))))

獲取元組list中指定索引的最大值

list4 = [(1, 'a'), (3, 'c'), (4, 'e'), (-1, 'z')]
print(max(list4, key=lambda x: x[1]))

四、實(shí)例

str1 = "AAAaaa888ww8899sssss"
print(max(str1, key=str1.count))
print('--------------------------')
 
print(max(str1))
print('--------------------------')
 
 
list1 = ['11', 'zzz', '22', 'eee']
print(max(list1))
print('--------------------------')
 
list2 = ['11', '-399', '222', '67']
print(max(list2, key=lambda x: int(x)))
print('--------------------------')
 
list3 = ['11', '-399', '222', '67']
print(max(list2, key=lambda x: abs(int(x))))
print('--------------------------')
 
# list3 = [{'age': 20}, {'age': 23}]
# print(max(list3))
# print('--------------------------')
 
list4 = [(1, 'a'), (3, 'c'), (4, 'e'), (-1, 'z')]
print(max(list4, key=lambda x: x[1]))
print('--------------------------')
 
 
dict1 = {'a': '11', 'c': '22', 'b': '33'}
print(max(dict1, key=dict1.get))
print(max(dict1, key=lambda x: dict1[x]))
 
dict1 = {'a': '11', 'c': '22', 'b': '33'}
print(max(dict1))
print(max(dict1.keys()))
 
dict1 = {'a': '11', 'c': '22', 'b': '33'}
print(max(dict1.values()))
print('--------------------------')

str3 = "Life is short , I use python"
print(str3.split())
print(max(str3.split(), key=len))
print(max(str3.split()))
print('--------------------------')

運(yùn)行結(jié)果:

以上就是Python max函數(shù)中key的用法的詳細(xì)內(nèi)容,更多關(guān)于Python max函數(shù)key用法的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • python機(jī)器學(xué)習(xí)高數(shù)篇之函數(shù)極限與導(dǎo)數(shù)
  • python中super()函數(shù)的理解與基本使用
  • Python如何使用print()函數(shù)輸出格式化字符串
  • python中map()函數(shù)使用方法詳解
  • python之多種方式傳遞函數(shù)方法案例講解
  • python imread函數(shù)詳解
  • 關(guān)于Python OS模塊常用文件/目錄函數(shù)詳解
  • python用函數(shù)創(chuàng)造字典的實(shí)例講解
  • Python面向?qū)ο笾畠?nèi)置函數(shù)相關(guān)知識(shí)總結(jié)
  • Python函數(shù)中的不定長(zhǎng)參數(shù)相關(guān)知識(shí)總結(jié)
  • Python 函數(shù)簡(jiǎn)單易理解版

標(biāo)簽:沈陽(yáng) 紅河 樂(lè)山 河南 新疆 長(zhǎng)治 滄州 上海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python max函數(shù)中key的用法及原理解析》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266