【发布时间】:2019-03-18 14:59:32
【问题描述】:
我有一本字典,例如:
d = {'a':[0,0], 'b':[0,0], 'c':[0,1], 'd':[1,1]}
值有一个顺序,基本上是字典顺序,例如[0, 0] < [0,1] < [1,1]。
我有兴趣根据此顺序检索其值最小的键。在这种情况下,期望的结果是:
result = ['a', 'b']
我可以通过 (1) 获取 dict 的值,(2) 将其转换为列表 L,(3) 排序 L 来做到这一点:
L.sort(key = str),
然后 (4) 获取排序后的 L 的最小元素 m,最后 (5) 检索值为 m 的键。
我可以想到这个过程的其他变体,但它们都涉及到查字典和比较事物,而且它们可能都太复杂了。
我的问题是,是否有一些更简单、更优雅(和更有效)的方法来做到这一点。我应该首先使用不同的数据结构而不是字典吗?
【问题讨论】:
-
排序时可以直接比较列表,无需转成字符串。
标签: python dictionary