找出字典中最小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

 

posted @ 2019-03-04 15:16  我有一个桃花源  阅读(6423)  评论(0编辑  收藏  举报