使用元组或列表在Python中对字典进行排序

3

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

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

还有一个元组:

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

我希望获得一个值列表,例如:
[7, 3, 5, 1]

非常感谢!

3
这不是一个有关排序的问题。 - Daniel Roseman
1个回答

6
您可以使用列表推导式:
```python ```
>>> [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]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接