[英]Sorting dict using tuple or list in Python
How can I sort dict keys using a tuple or a list and than return values? 如何使用元组或列表对dict键进行排序而不是返回值? For example, I have a dict: 例如,我有一个词典:
d = {'a' : 1, 'b' : 3, 'c' : 5, d : '7'}
and a tuple: 和一个元组:
t = ('d', 'b', 'c', 'a')
I would like to get a list of values, like: 我想得到一个值列表,如:
[7, 3, 5, 1]
Many thanks! 非常感谢!
You can use a list comprehension: 您可以使用列表理解:
>>> [d[k] for k in t]
['7', 3, 5, 1]
or map
: 或map
:
>>> map(d.get, t)
['7', 3, 5, 1]
You can also create an OrderedDict
using the items in t
: 您还可以使用t
的项创建OrderedDict
:
>>> from collections import OrderedDict
>>> dic = OrderedDict((k, d[k]) for k in t)
>>> dic.values()
['7', 3, 5, 1]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.