获取字典中最小值对应的键

新手上路,请多包涵

如果我有一个 Python 字典,我如何获取包含最小值的条目的键?

我正在考虑与 min() 函数有关的事情……

鉴于输入:

 {320:1, 321:0, 322:3}

它会返回 321

原文由 tjvr 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 696
2 个回答

最佳: min(d, key=d.get) 没有理由插入无用的 lambda 间接层或提取项目或键!

 >>> d = {320: 1, 321: 0, 322: 3}
>>> min(d, key=d.get)
321

原文由 Alex Martelli 发布,翻译遵循 CC BY-SA 4.0 许可协议

这是一个实际提供 OP 要求的解决方案的答案:

 >>> d = {320:1, 321:0, 322:3}
>>> d.items()
[(320, 1), (321, 0), (322, 3)]
>>> # find the minimum by comparing the second element of each tuple
>>> min(d.items(), key=lambda x: x[1])
(321, 0)

但是,使用 d.iteritems() 对于较大的词典会更有效。

原文由 Mark Rushakoff 发布,翻译遵循 CC BY-SA 2.5 许可协议

推荐问题