簡體   English   中英

Python - 按dict的dict值的值對dics列表進行排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM