gpt4 book ai didi

python:在一个键上对一个字典进行排序

转载 作者:太空宇宙 更新时间:2023-11-03 12:25:14 25 4
gpt4 key购买 nike

这样的数据结构。

{
'ford': {'count': 3},
'mazda': {'count': 0},
'toyota': {'count': 1}
}

在顶级字典的值中对 count 的值进行排序的最佳方法是什么?

最佳答案

d = {'ford': {'count': 3},
'mazda': {'count': 0},
'toyota': {'count': 1}}

>>> sorted(d.items(), key=lambda (k, v): v['count'])
[('mazda', {'count': 0}), ('toyota', {'count': 1}), ('ford', {'count': 3})]

要将结果保存为字典,您可以使用 collections.OrderedDict :

>>> from collections import OrderedDict
>>> ordered = OrderedDict(sorted(d.items(), key=lambda (k, v): v['count']))
>>> ordered
OrderedDict([('mazda', {'count': 0}), ('toyota', {'count': 1}), ('ford', {'count': 3})])
>>> ordered.keys() # this is guaranteed to come back in the sorted order
['mazda', 'toyota', 'ford']
>>> ordered['mazda'] # still a dictionary
{'count': 0}

版本问题:

  • 在 Python 2.x 上,您可以使用 d.iteritems() 而不是 d.items() 以获得更好的内存效率
  • collections.OrderedDict 仅适用于 Python 2.7 和 Python 3.2(及更高版本)

关于python:在一个键上对一个字典进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10076568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com