创建一个有序的字典

时间:2016-04-06 05:20:05

标签: python dictionary

我有一个像这样的词典:

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',]

1 个答案:

答案 0 :(得分:10)

order=['one','two','three','foo']
ordered_dict = OrderedDict((k, original_dict[k]) for k in order)