让我们考虑一本字典:
sample_dict={1:'r099',2:'g444',3:'t555',4:'f444',5:'h666'}
我想按照包含我想要的字典键顺序的列表指定的顺序重新排序这本字典。让我们假设所需的订单列表是:
desired_order_list=[5,2,4,3,1]
所以,我希望我的字典看起来像这样:
{5:'h666',2:'g444',4:'f444',3:'t555',1:'r099'}
如果我能得到一个值列表也很好。意思是,结果可能是这样的:
['h666','g444','f444','t555','r099']
我如何以最不复杂的方式实现这一目标?
原文由 user699540 发布,翻译遵循 CC BY-SA 4.0 许可协议
Guido 保证字典将从 Python 3.7 开始订购,并且它们已经作为 3.6 中的实验性功能。答案已经以 Fastest way to sort a python 3.7+ dictionary 进行了 扩展。
在这种情况下,基于
desired_order_list
中包含的项目构建一个具有简单字典理解的新字典就可以了。