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

 

转载于:https://www.cnblogs.com/josie-xu/p/10470851.html

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值