python - 在python中按不同键对字典列表进行排序

标签 python

这是我拥有的字典列表:

[{'title': 'C'}, {'contentTitle':'B'}, {'title': 'A'}]

在python中,是否可以编写一个比较器来对列表进行排序,它首先查看title下的值,如果没有title,则使用下面的值内容标题

最佳答案

您可以使用dict.get()查找键而不引发异常:

>>> lst = [{'title': 'C'}, {'contentTitle':'B'}, {'title': 'A'}]
>>> sorted(lst, key=lambda x: x.get("title") or x.get("contentTitle"))
[{'title': 'A'}, {'contentTitle': 'B'}, {'title': 'C'}]

关于python - 在python中按不同键对字典列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44058868/

相关文章:

Python shell 和 execfile 范围

python - 如何修复 '' AttributeError : module 'pyglet.text' has no attribute 'label' "error in python

python - Pygame:无法打开 .mp3 文件

python - prime_factorize(1) -> ? (Python 错误信号)

python - 自动缩放 "Mapbox maps"

python - 将聚合行分成不同的行,在 pandas 中添加唯一计数

python - Pandas 将列中的数字提取到新列中

Python 3 - 打开和保存文件的全部内容

Python:将带有 '|'的文本文件解析到MySql表

python - 改变 python 描述符