[英]Python - Sort a list of dics by value of dict`s dict value
我有一個如下所示的列表:
persons = [{'id': 11, 'passport': {'id': 11, 'birth_info':{'date': 10/10/2016...}}},{'id': 22, 'passport': {'id': 22, 'birth_info':{'date': 11/11/2016...}}}]
我需要通過子鍵的子鍵 - 他們的birth_info日期對人員列表進行排序。
我該怎么辦? 謝謝
函數sorted()
提供了key
參數。 可以定義一個callable,它返回鍵來比較項目:
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'))
嘗試這個
from datetime import datetime
print(sorted(persons, key=lambda x: datetime.strptime(x['passport']['birth_info']['date'], "%d/%m/%Y"))) #reverse=True for descending order.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.