简体   繁体   English

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM