python由字典组成的列表如何排序

python由字典组成的列表如何排序

作者:Joshua Lee发布时间:2026-01-14阅读时长:0 分钟阅读次数:6

用户关注问题

Q
如何按照字典中的某个键对列表进行排序?

我有一个由字典组成的列表,如何根据字典里指定的某个键来对整个列表进行排序?

A

使用 sorted() 函数结合 lambda 表达式

可以使用 Python 的 sorted() 函数,结合 lambda 表达式作为 key 参数来指定排序的键。例如,假设列表名为 data,按字典中名为 'age' 的键排序,可以使用 sorted(data, key=lambda x: x['age']) 来实现。这样会返回一个新的按指定键排序的列表。

Q
如何实现对列表中字典的降序排序?

我希望根据字典中的某个值来对列表进行降序排序,该怎么操作?

A

设置 sorted() 函数的 reverse 参数为 True

在调用 sorted() 函数时,将 reverse 参数设置为 True 即可实现降序排序。例如,sorted(data, key=lambda x: x['score'], reverse=True) 会按 'score' 键的值从大到小排序整个列表。

Q
如何原地修改列表顺序而不是生成新的排序列表?

我不想生成一个新的列表,希望直接修改原列表的顺序,该怎么办?

A

使用列表的 sort() 方法进行原地排序

列表对象提供 sort() 方法,可以直接修改列表本身的顺序。调用 data.sort(key=lambda x: x['name']) 会根据字典中 'name' 键进行排序,且不会返回新的列表,而是直接更改原有列表的顺序。