今天做一個練習題,遇到一個問題,就是找字典中最小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
