如果我有一个Python字典,我如何获得包含最小值的条目的键?
我在想一些与min()函数有关的事情…
给定输入:
{320:1, 321:0, 322:3}
它会返回321。
如果我有一个Python字典,我如何获得包含最小值的条目的键?
我在想一些与min()函数有关的事情…
给定输入:
{320:1, 321:0, 322:3}
它会返回321。
当前回答
将min与迭代器一起使用(对于python 3使用items而不是iteritems);使用itemgetter from操作符代替lambda,这比lambda快。
from operator import itemgetter
min_key, _ = min(d.iteritems(), key=itemgetter(1))
其他回答
Min (d.s items(), key=lambda x: x[1])[0]
如果你不确定你没有多个最小值,我建议:
d = {320:1, 321:0, 322:3, 323:0}
print ', '.join(str(key) for min_value in (min(d.values()),) for key in d if d[key]==min_value)
"""Output:
321, 323
"""
将min与迭代器一起使用(对于python 3使用items而不是iteritems);使用itemgetter from操作符代替lambda,这比lambda快。
from operator import itemgetter
min_key, _ = min(d.iteritems(), key=itemgetter(1))
my_dic = {320:1, 321:0, 322:3}
min_value = sorted(my_dic, key=lambda k: my_dic[k])[0]
print(min_value)
一个只有排序方法的解。
我用排序方法从最小到最大对值进行排序 当我们得到第一个索引时,它给出了最小的键。
d={}
d[320]=1
d[321]=0
d[322]=3
value = min(d.values())
for k in d.keys():
if d[k] == value:
print k,d[k]