我有一个像这样的词典:
original_dict = {'two':'2','three':'3','one':'1','foo':'squirrel'}
我想要两个按此顺序:
ordered_dict = OrderedDict({'one':'1','two':'2','three':'3','foo':'squirrel'
})
但我没有得到同样的订单,
{'one':'1','two':'2','three':'3','foo':'squirrel'}
会自行创建一个词典,因此它不像我指定的那样工作
我在文档中看到可以使用已排序的方法
OrderedDict(sorted(d.items(), key=lambda t: len(t[0])))
但我不知道返回我想要的订单的功能 我试过了
ordered_dict = OrderedDict(sorted(original_dict.items(),['one','two','three','foo']))
但那不起作用。
请注意,我想要的顺序可以是非常随意的,例如:
['three','foo','one','two',]
答案 0 :(得分:10)
order=['one','two','three','foo']
ordered_dict = OrderedDict((k, original_dict[k]) for k in order)