【问题标题】:Sorting dict using tuple or list in Python在 Python 中使用元组或列表对字典进行排序
【发布时间】:2013-09-13 08:53:06
【问题描述】:
如何使用元组或列表对字典键进行排序而不是返回值?
例如,我有一个字典:
d = {'a' : 1, 'b' : 3, 'c' : 5, d : '7'}
还有一个元组:
t = ('d', 'b', 'c', 'a')
我想得到一个值列表,例如:
[7, 3, 5, 1]
非常感谢!
【问题讨论】:
标签:
python
list
dictionary
tuples
【解决方案1】:
您可以使用列表推导:
>>> [d[k] for k in t]
['7', 3, 5, 1]
或map:
>>> 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]