如何使用元组或列表对dict键进行排序而不是返回值? 例如,我有一个词典:
d = {'a' : 1, 'b' : 3, 'c' : 5, d : '7'}
和一个元组:
t = ('d', 'b', 'c', 'a')
我想获得一个值列表,例如:
[7, 3, 5, 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]