【发布时间】:2017-03-22 04:12:01
【问题描述】:
假设你有一个这样的字典,但不一定按其值排序:
d={a:2,k:2,c:11,f:17,e:84,y:86}
并且您想将值从最大到最小排序:
order=sorted(d.values(),reverse=True)
这会给你:
order=[86,84,17,11,2,2]
现在,让我们看看最后两个元素:
b=order[-2:]=[2,2]
在d 中检索与b 中的值对应的键的Pythonic 方法是什么?在这种情况下,预期的结果是:
ans=[a,k]
【问题讨论】:
-
永远不会对字典进行排序(关于您的第一句话)
-
是的,我知道。我已经指定了,因为我的示例是在值中排序的。
-
你能完整回答这个问题吗?
-
什么是 Pythonic 方法来检索 d 中与 b 中的值对应的键? 由于相同的值,没有 Pythonic 方法或任何其他方法可以做到这一点可能被许多键“共享”。排序后获取最后两个元素是另一回事..
-
@CF84 我回答是为了告诉你如何使用
np.argsort
标签: python sorting dictionary