3

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

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

和一个元组:

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

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

[7, 3, 5, 1]

非常感谢!

4

1 回答 1

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]
于 2013-09-09T19:27:51.667 回答