这是我的词典列表:
[{'title': 'C'}, {'contentTitle':'B'}, {'title': 'A'}]
在python中,是否可以编写一个比较器来对列表进行排序,该列表首先看title
下的值,如果没有title
,则使用contentTitle
下的值< / p>
答案 0 :(得分:3)
您可以使用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'}]