如何按数据类型对一个 Python 字典进行排序?


你可以用 sorted 函数和 lambda 传递用作排序依据的 key 来按字典值对字典列表进行排序。例如,

A = [{'name':'john','age':45},
     {'name':'andi','age':23},
     {'name':'john','age':22},
     {'name':'paul','age':35},
     {'name':'john','age':21}]

new_A = sorted(A, key=lambda x: x['age'])
print(new_A)

这会给出以下输出

[{'name': 'john', 'age': 21}, {'name': 'john', 'age': 22}, {'name': 'andi', 'age': 23}, {'name': 'paul', 'age': 35}, {'name': 'john', 'age': 45}]

你还可以用 sort 函数代替 sorted 函数原地排序。例如,

A = [{'name':'john','age':45},
     {'name':'andi','age':23},
     {'name':'john','age':22},
     {'name':'paul','age':35},
     {'name':'john','age':21}]

A.sort(key=lambda x: x['age'])
print(A)

这会给出以下输出

[{'name': 'john', 'age': 21}, {'name': 'john', 'age': 22}, {'name': 'andi', 'age': 23}, {'name': 'paul', 'age': 35}, {'name': 'john', 'age': 45}]

更新于: 2020 年 6 月 17 日

149 次浏览

开启你的 事业

完成课程并获得认证

开始
广告