代码之家  ›  专栏  ›  技术社区  ›  Hanzy

Python如何按字典键对嵌套字典列表进行排序?

  •  1
  • Hanzy  · 技术社区  · 6 年前

    我有一个嵌套字典列表,格式如下:

    list = [{key1: (tuple_value1, tuple_value2)}, {key2: (tuple_value1, tuple_value2)}, {key3: (tuple_value1, tuple_value2)}, ...]
    

    我发现了一个表达式,它将按我相信的值排序:

    newlist = sorted(list_to_be_sorted, key=lambda k: k['name']) 
    

    2 回复  |  直到 6 年前
        1
  •  2
  •   U13-Forward    6 年前

    Try(两个版本都适用):

    >>> lod=[{'b':[1,2,3]},{'a':[4,5,6]}]
    >>> sorted(lod,key=lambda x: list(x.keys()))
    [{'a': [4, 5, 6]}, {'b': [1, 2, 3]}]
    >>> 
    

    当然,这也适用(两个版本都适用):

    >>> lod=[{'b':[1,2,3]},{'a':[4,5,6]}]
    >>> lod.sort(key=lambda x: list(x.keys()))
    >>> lod
    [{'a': [4, 5, 6]}, {'b': [1, 2, 3]}]
    >>> 
    

    list

        2
  •  2
  •   Manoj Jadhav    6 年前

    你能做到的。这将按键对您的dict进行排序。这只适用于Python2.7

    newlist = sorted(list_to_be_sorted, key=lambda k: k.keys())