【发布时间】:2020-06-12 12:54:31
【问题描述】:
使用np.argsort 将基于 numpy 的函数应用于其键的排序字典。
以下可行,但似乎步骤太多;有没有更简单的方法?
假设我的最终排序函数将比此处显示的抽象 n/m 更复杂
import numpy as np
def get_sorted_dic(dictionary):
keys = list(dictionary.keys())
m, n = np.array(keys).T
order = np.argsort(n/m).tolist()
keyz = [keys[i] for i in order]
return dict([(key, dictionary[key]) for key in keyz])
dic = {(7, 13): 'third', (9, 5): 'first', (27, 49): 'second'}
print(get_sorted_dic(dic))
返回正确排序的字典{(9, 5): 'first', (27, 49): 'second', (7, 13): 'third'}
【问题讨论】:
标签: python python-3.x sorting dictionary