【问题标题】:sort a dictionary according to their values in python [duplicate]根据python中的值对字典进行排序[重复]
【发布时间】:2010-07-21 11:18:03
【问题描述】:

可能重复:
Sort by key of dictionary inside a dictionary in Python

我有一本字典:

d={'abc.py':{'map':'someMap','distance':11},
   'x.jpg':{'map':'aMap','distance':2},....}

现在我需要的是:我需要根据他们的距离对d进行排序?

我尝试了sorted(d.items(),key=itemgetter(1,2),但它不起作用。

怎么做?

【问题讨论】:

    标签: python dictionary sorting key


    【解决方案1】:

    你不能(真的)影响你的 dict 键出现的顺序。如果你想遍历排序的键,你可以例如使用

    sorted(d.keys(), key=lambda x: d[x]['distance'])
    

    【讨论】:

      【解决方案2】:

      无法对字典进行排序。因此,您必须将数据转换为列表并对该列表进行排序。 也许您将 dict 转换为元组列表(键、值)然后排序。

      【讨论】:

        【解决方案3】:

        你可以这样做:

        sorted(d.items(), key=lambda x:x[1]['distance'])
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-09-27
          • 2023-03-26
          • 1970-01-01
          • 2021-09-02
          • 1970-01-01
          相关资源
          最近更新 更多