列表嵌套字典,根據字典某一key排序

在返回列表嵌套字典時候,往往需要對數據進行一定的處理:
按照字典中某一個key排序

In [87]: a = [{"name": "牛郎", "age": 23},{"name":"許仙", "age": 20},{"name":"董永", "age": 18}]
In [88]: a
Out[88]:
[{'name': '牛郎', 'age': 23},
 {'name': '許仙', 'age': 20},
 {'name': '董永', 'age': 18}]
In [89]: a.sort(key=lambda x:(x['name'], x['age']))  # 根據字典中name,age排序
In [90]: a
Out[90]:
[{'name': '牛郎', 'age': 23},
 {'name': '董永', 'age': 18},
 {'name': '許仙', 'age': 20}]
In [91]: a.sort(key=lambda x:(x['age'], x['name']))
In [92]: a
Out[92]:
[{'name': '董永', 'age': 18},
 {'name': '許仙', 'age': 20},
 {'name': '牛郎', 'age': 23}]

列表嵌套字典,根據字典某一key排序

如果排序字段是數字類型,如果我們需要對該字段進行逆序排,也可以這麼寫:

a.sort(key=lambd x :(x['name'], -x['age']))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章