【发布时间】:2013-11-04 07:25:52
【问题描述】:
如果我有一个像这样的字典列表:
l = [{'dist':56, 'responder':N}, {'dist':26, 'responder':N}, {'dist':86, 'responder':N}]
我想返回 2 个最小距离('dist')以及 'responder' 的值,在 Python 中最好的方法是什么?
【问题讨论】:
-
试试
min(l, key=lambda d: d['dist'])。 -
@Cfreak,我知道我可以通过使用列表理解和使用 min() 找到最小距离,但我仍然不知道如何保留“responder”的值
-
很少有编程任务有
the best way -
@Bakuriu 的解决方案返回最小的,但要按排序返回两个最小的,您应该使用
sorted而不是min。 -
heapq.nsmallest是一个很好的方法来找到最小的 2。
标签: python dictionary