簡體   English   中英

使用時間戳對 Python 字典列表進行排序

[英]Sort a Python List of Dictionaries with TimeStamp

這是我來自 MailChimp api 的字典列表的簡化版本,我正在使用 function 獲取基於 timestamp_out 的排序列表。 當我運行它時,我得到“無”作為 output。 看來這應該可行。 有誰知道發生了什么以及如何使它簡單地 output 排序列表? 謝謝 - 是的,我已經搜索過這個但還沒有答案。

 memberList=[{'email_address': 'aaa@gmail.com', 'timestamp_opt': '2020-07-17T00:49:53+00:00'}, {'email_address': 'bbb@yahoo.com', 'timestamp_opt': '2020-07-17T01:29:47+00:00'}]

  def key_function(item_dictionary):
     datetime_string = item_dictionary['timestamp_opt']
     return datetime.datetime.strptime(datetime_string, '%Y-%m-%dT%H:%M:%S%z')


 sortList=memberList.sort(key=key_function)

 print(sortList)

改變這個:

sortList = memberList.sort(key=key_function)

對此:

sortList = sorted(memberList, key=key_function)

sort就地更改了原始memberList ,並且不返回任何內容,這就是為什么您會看到None的原因。 但是, sorted返回一個新列表,我們可以將其分配給sortList

請參閱sorted(list)list.sort()有什么區別? 了解更多詳情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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