使用 min 从字典中获取最低键和值 [重复]
Posted
技术标签:
【中文标题】使用 min 从字典中获取最低键和值 [重复]【英文标题】:Using min to get lowest key and value from dictionary [duplicate] 【发布时间】:2017-09-19 11:40:09 【问题描述】:字典:
d = u'A': 240, u'B': 242, u'C': 243
我已经成功地使用以下代码识别了最低键:
min_ = min(d, key=d.get)
输出:
A
我想让输出也包含该值:
A, 240
注意:
如果可能,我想避免使用lambda
【问题讨论】:
d[min_]
给你价值
你有一个dict
。你有一个键,你想要一个值。我想你可以把这些点联系起来。
或者,min(d.items(), key=operator.itemgetter(1))
。
如果可能,我想避免使用 lambda。请不要在没有至少解释原因的情况下设置任意限制。 为什么 lambda 是不可接受的?
【参考方案1】:
将min
应用于字典items 然后:
from operator import itemgetter
min(d.items(), key=itemgetter(1))
我使用operator.itemgetter()
callable 从每个(key, value)
对中检索value
,但您也可以使用lambda pair: pair[1]
。后者会稍微慢一些,因为它涉及退回到 Python 调用框架。
演示:
>>> from operator import itemgetter
>>> d = u'A': 240, u'B': 242, u'C': 243
>>> min(d.items(), key=itemgetter(1))
(u'A', 240)
【讨论】:
太棒了,谢谢!有没有一种简单的方法可以删除“不必要的字符”,即“(u')”,所以我只剩下A, 240
?
@LearningToPython:你正在回显或打印一个元组,所以使用repr()
;元组并不意味着最终用户友好,它们只有调试友好的表示。如果要将其格式化为其他内容,请使用字符串格式化。 ', '.format(*result)
将按照您想要的方式对其进行格式化(将两个值放入带有逗号和空格的字符串中)。
谢谢 - 我发现我可以做到 x[0]
和 x[1]
给了我结果以上是关于使用 min 从字典中获取最低键和值 [重复]的主要内容,如果未能解决你的问题,请参考以下文章