Python max()方法擴展:求字典中值最大的鍵


重要的應該寫在前面【捂臉】
 
場景一:僅求最大值對應的鍵,代碼如下:
>>> dic = {'A':4, 'B':2, 'C':3}
>>> max_key = max(dic, key = dic.get)
>>> max_key
'A'
>>>

 

場景二:求最大值對應的鍵值對,代碼如下:
>>> dic = {'A':4, 'B':2, 'C':3}
>>> max_key_value = max(dic.items(), key = lambda x: x[1])
>>> max_key_value
('A', 4)
>>>

 

 
以下為max用法總結,不需要的小伙伴可忽略
 
描述:
取傳入的多個參數中的最大值,或者傳入的可迭代對象元素中的最大值
 
語法:
1. max(iterable, *[, key, default])
2. max(arg1, arg2, *args[, key])
 
參數介紹:
默認數值型參數,取值大者;字符型參數,取字母表排序靠后者
key---可作為一個函數,用來指定取最大值的方法。
default---用來指定最大值不存在時返回的默認值
arg1---字符型參數/數值型參數,默認數值型
 
 
返回值:
1.傳入多個參數取最大值
>>> print(max('a','b','c','d','e','f','g'))
g
>>>

 

2.傳入可迭代對象時,取其元素最大值
>>> s = 'abcdefg'
>>> print(max(s))
g
>>>

 

3.傳入可迭代對象為空時,必須指定參數default,用來返回默認值
>>> print(max([],default=1))
1
>>> print(max([]))
Traceback (most recent call last):
  File "<pyshell#45>", line 1, in <module>
    print(max([]))
ValueError: max() arg is an empty sequence
>>>

 

4. 傳入命名參數key,其為一個函數,用來指定取最大值的方法(靈活運用,根據字典的鍵值)
示例一:
>>> li = [{'name': 'li', 'age': 24},{'name': 'he', 'age': 45} ]
>>> li_max = max(li, key = lambda x: x['age'])
>>> print(li_max)
{'name': 'he', 'age': 45}
>>>

 

示例二(求字典中值最大的鍵):
>>> dic = {'a': 3, 'b': 3, 'c': 2, 'd': 1}
>>> dic_max = max(dic, key = dic.get)
>>> print(dic_max)
a
>>>

 

min()函數的功能與max()函數的功能相反


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM