如何使用元组或列表对dict键进行排序而不是返回值?
例如,我有一个词典:
d = {'a' : 1, 'b' : 3, 'c' : 5, d : '7'}
和一个元组:
t = ('d', 'b', 'c', 'a')
我想得到一个值列表,如:
[7, 3, 5, 1]
非常感谢!
解决方法:
您可以使用列表理解:
>>> [d[k] for k in t]
['7', 3, 5, 1]
或地图:
>>> map(d.get, t)
['7', 3, 5, 1]
您还可以使用t中的项创建OrderedDict:
>>> from collections import OrderedDict
>>> dic = OrderedDict((k, d[k]) for k in t)
>>> dic.values()
['7', 3, 5, 1]