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

Flutter-Dart:对含double与DateTime的嵌套列表按日期升序排序

按日期升序排序二维列表的解决方案

要实现对给定二维列表按日期升序排序且保留子列表结构,可以借助Python的datetime模块转换日期字符串,再利用排序方法指定排序依据:

代码实现

from datetime import datetime

# 原始列表
myList = [[0.0, '3 Jan 2023'], [0.0, '7 Jan 2023'], [139.36986081071, '1 Jan 2023'], [139.84969328013125, '11 Jan 2023'], [97.84468694063244, '11 Jan 2023']]

# 原地排序:按日期升序,以转换后的datetime对象为排序键
myList.sort(key=lambda x: datetime.strptime(x[1], "%d %b %Y"))

# 输出排序后的列表
print(myList)

关键说明

  • datetime.strptime(x[1], "%d %b %Y"):将子列表中的日期字符串(格式为日 缩写月 年)转换为可比较的datetime对象,确保排序逻辑符合日期先后顺序。
  • 若不想修改原列表,可使用sorted()函数生成新列表:
    sorted_list = sorted(myList, key=lambda x: datetime.strptime(x[1], "%d %b %Y"))
    

排序结果

执行后得到的有序列表为:

[[139.36986081071, '1 Jan 2023'], [0.0, '3 Jan 2023'], [0.0, '7 Jan 2023'], [139.84969328013125, '11 Jan 2023'], [97.84468694063244, '11 Jan 2023']]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 19:20:23