繁体   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