Python - 按 dict`as dict value 的值对字典列表进行排序

标签 python list sorting quicksort

我有一个如下所示的列表:

persons = [{'id': 11, 'passport': {'id': 11, 'birth_info':{'date': 10/10/2016...}}},{'id': 22, 'passport': {'id': 22, 'birth_info':{'date': 11/11/2016...}}}]

我需要根据子键的子键 - 他们的出生信息日期对人员列表进行排序。

我应该怎么做? 谢谢

最佳答案

函数 sorted() 提供了 key 参数。可以定义一个可调用函数,它返回用于比较项目的键:

sorted(persons, key=lambda x: x['passport']['birth_info']['date'])

参数 x 是给定人员列表中的一项。

如果日期是字符串,您可以使用 datetime 模块:

sorted(persons, key=lambda x: datetime.datetime.strptime(x['passport']['birth_info']['date'], '%m/%d/%Y'))

关于Python - 按 dict`as dict value 的值对字典列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39804375/

相关文章:

python - Pandas extractall() - 返回列表,而不是多级索引?

python - 如何使用其中一个属性作为键,从类实例列表创建字典。

python - 运行 setup.py 时更改包名称

python - 我真的改变了列表吗?

java - 将元素添加到实体对象java

c++ - 同时对两个 vector (键/值)进行排序的最快方法?

ios - Swift iOS 将 ArraySlice 转换为 CGFloat

python - 使用来自 Octave 音程的数据在python中进行二次编程

arrays - 为什么快速排序平均比其他排序快?

list - Haskell 所有函数