【发布时间】:2018-06-14 18:57:12
【问题描述】:
我有一个字典,我想按它们的值排序。之后,我希望将键的顺序放入一个数组中。我尝试了一些代码,但是如果它是按值排序的,那么所有的都只是输出值,或者如果它是按键排序的,则只输出值。 这是我的字典:
{0: 1.0, 1: 22.0, 2: 30.0, 3: 8.0, 4: 17.0, 5: 9.0, 6: 13.0, 7: 21.0, 8:
24.0, 9: 18.0, 10: 14.0, 11: 2.0, 12: 20.0, 13: 23.0, 14: 19.0, 15: 15.0, 16:
6.0, 17: 26.0, 18: 11.0, 19: 5.0, 20: 29.0, 21: 7.0, 22: 12.0, 23: 27.0, 24:
25.0, 25: 16.0, 26: 3.0, 27: 4.0, 28: 28.0, 29: 10.0}
它应该返回如下内容:
[0,11,26,27,19,16, etc]
【问题讨论】:
-
sorted(dictionary, key=dictionary.get)是您所需要的;它返回[0, 11, 26, 27, 19, 16, 21, 3, 5, 29, 18, 22, 6, 10, 15, 25, 4, 9, 14, 12, 7, 1, 13, 8, 24, 17, 23, 28, 20, 2]用于您的示例输入。
标签: python arrays sorting dictionary