在平時使用max和min函式時,往往只用到了其中最簡單的操作,之後敲**的時候需要通過value的最大值返回所對應的key值,發現max/min函式還有高階操作,故在此記錄。
max函式機制和min函式機制是一樣的,這裡只介紹max函式。
#max函式語法
max(iterable,*[
, key, default]
)max
(arg1, arg2,
*args[
, key]
)
根據上面語法,max函式的引數有兩種傳遞方式:
1.傳遞1個或多個同型別可迭代物件;
2.傳遞多個字串或數字。
print
(max(-
1,1,
2,9)
)#結果為9
print
(max([
5,6,
7,10]
))#結果為10
print
(max
('abcfgh'))
#結果為h
求list中平方最大的值
data =[-
9,-8
,-7,
1,3,
6]result =
max(data, key=
lambda x: x*x)
print
(result)
#結果為-9,注意返回的是x,不是對x操作後的值
對字典dict操作(根據最大的value值返回其對應的key)
data =
result_max =
max(data,key=
lambda x:data[x]
)print
(result_max)
#結果為c
#print(max(data,key=data.get)) #效果同上面一樣
在上面的例子中,max函式第乙個引數是可迭代內容dict,第二個引數key為函式。其過程為max進行for i in 遍歷迭代器,將迭代器的每乙個返回值當做引數傳給key=func中的函式func,之後將處理後的結果進行比較大小;本例對data[x](value值)進行大小比較,返回的是x(key值)。
需要注意的是,預設情況下,dict迭代的是key。
但是在上面的例子中,我們會發現,'c』和』e』對應的value都是12,但只返回了乙個key,如果要返回多個key,如下:
data =
keys =
for key, value in data.items():
if value ==
max(data.values())
:print
(keys)
#結果為['c','e']
Python 內建函式之max
1 def max args,key none known special case of max 2 3max iterable,default obj,key func value 4max arg1,arg2,args,key func value56 with a single iterab...
Max()函式與Min()函式
在資料庫中max 求最大值,min 求最小值 用法用例 select max column name min from table name 函式括號列中的資料可以是數值,字串,或者日期型別 例項 查詢teacher表中的最大年齡 select max age from teacher 但實際中這樣...
max函式的使用
初級技巧 tmp max 1,2,4 print tmp 4 可迭代物件 a 1,2,3,4,5,6 tmp max a print a 6中級技巧 key屬性的使用 當引數不為空時,就以key的物件作為判斷的標準。如果我們想找一組數中絕對值最大的數,就可以配合lambda函式先進行處理,再找出最大...