有没有一种简单的方法可以按给定列表对字典进行排序?

例:

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)

10-08 11:16