有没有一种简单的方法可以按给定列表对字典进行排序?
例:
data = OrderedDict([('pi', 'var1'), ('pa', 'var2'), ('pu', 'var3')])
order = ['pu', 'pi', 'pa']
要求订购的字典:
>>> OrderedDict([('pu', 'var3'), ('pi', 'var1'), ('pa', 'var2')])
提前致谢
最佳答案
您可以通过以下生成器理解来做到这一点:
sorted_data = OrderedDict((k, data[k]) for k in order)