找出字典中最小value值对应的key
今天做一个练习题,遇到一个问题,就是找字典中最小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