You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何按日期升序排序包含日期字段的字典列表

Python 对带日期字段的字典列表做日期升序排序

待排序的原始数据如下,列表中每个字典的date字段按[日, 月, 年]的顺序存储日期值:

a = [{"date":[14,2,2020],"stockValue":-0.57357144},{"date":[9,2,2020],"stockValue":-0.66407406},{"date":[10,2,2020],"stockValue":-0.62166667}]

由于原生date字段的存储顺序是日在前、年在最后,直接按字段值对比无法得到正确的日期先后,排序时需要将日期值调整为年、月、日的优先级作为排序键即可,两种常用实现如下:

  • 原地排序(直接修改原列表顺序):调用列表的sort()方法,通过lambda自定义排序键
a.sort(key=lambda item: (item["date"][2], item["date"][1], item["date"][0]))
  • 非原地排序(保留原列表不变,返回排序后的新列表):使用内置sorted()函数
sorted_stock_list = sorted(a, key=lambda item: (item["date"][2], item["date"][1], item["date"][0]))

排序完成后,列表内元素会按照日期从早到晚排列,顺序依次为2020年2月9日、2020年2月10日、2020年2月14日对应的三条股票数据。

内容的提问来源于stack exchange,提问作者photonboost

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 20:48:22