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

如何使用元组或列表对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]
上一篇:python – List vs tuple,何时使用?


下一篇:python – 从元组列表中删除值