今天做一個練習題,遇到一個問題,就是找字典中最小value值對應的key,
1.我自己寫了一段,就是利用min函數先找到最小value,然后遍歷字典一遍找對應的key值。
d={'a':10,'b':34,'c':23,'d':1,'e':3,'f':1,'h':3} minKeyLst=[] minValue=min(d.values()) for i,j in d.items(): if j==minValue: minKeyLst.append(i) print minKeyLst #結果 ======================== RESTART: C:\Python27\main.py ======================== ['d', 'f'] >>>
網上搜了下其他方法,
2.min(d,key=d.get)方法獲得字典dict中value的最小值所對應的鍵的方法,min(dict, key)方法首先遍歷迭代器,並將返回值作為參數傳遞給key對應的函數,然后將函數的執行結果傳給key,並以此時key值為標准進行大小判斷,返回最小值。
這個只是返回一個鍵
d={'a':10,'b':34,'c':23,'d':1,'e':3,'f':1,'h':3} print min(d,key=d.get) #結果 d
3.使用匿名函數
print min(d,key=lambda x : d[x]) d