使用Python中的元组或列表对dict进行排序

时间:2013-09-09 19:26:56

标签: python list dictionary tuples

如何使用元组或列表对dict键进行排序而不是返回值? 例如,我有一个词典:

d = {'a' : 1, 'b' : 3, 'c' : 5, d : '7'}

和一个元组:

t = ('d', 'b', 'c', 'a')

我想获得一个值列表,例如:

[7, 3, 5, 1]

非常感谢!

1 个答案:

答案 0 :(得分:6)

您可以使用列表理解:

>>> [d[k] for k in t]
['7', 3, 5, 1]

map

>>> map(d.get, t)
['7', 3, 5, 1]

您还可以使用OrderedDict中的项目

创建t
>>> from collections import OrderedDict
>>> dic = OrderedDict((k, d[k]) for k in t)
>>> dic.values()
['7', 3, 5, 1]