【问题标题】: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]

【讨论】:

    猜你喜欢
    • 2018-10-19
    • 2011-11-13
    • 2016-09-28
    • 1970-01-01
    • 2011-12-22
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    • 2018-10-24
    相关资源
    最近更新 更多