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

如何对Python列表执行前向填充,合并日期与时间元素

问题描述

现有如下Python列表:

a = ["Today, 30 Dec",
     "01:10",
     "02:30",
     "Tomorrow, 31 Dec", 
     "00:00",
     "04:30",
     "05:30",
     "01 Jan 2023",
     "01:00",
     "10:00"]

需要对该列表执行**前向填充(forward fill)**操作,将每个时间元素与最近的前置日期元素合并,得到目标列表:

b = ["Today, 30 Dec 01:10",
     "Today, 30 Dec 02:30",
     "Tomorrow, 31 Dec 00:00",
     "Tomorrow, 31 Dec 04:30",
     "Tomorrow, 31 Dec 05:30",
     "01 Jan 2023 01:00",
     "01 Jan 2023 10:00"]
解决方案

可以通过遍历列表并维护当前日期变量的方式实现,代码如下:

a = ["Today, 30 Dec",
     "01:10",
     "02:30",
     "Tomorrow, 31 Dec", 
     "00:00",
     "04:30",
     "05:30",
     "01 Jan 2023",
     "01:00",
     "10:00"]

b = []
current_date = None

for item in a:
    # 通过是否包含冒号区分日期和时间项
    if ":" not in item:
        current_date = item
    else:
        if current_date:
            b.append(f"{current_date} {item}")

# 输出结果
print(b)

代码说明

  • 用current_date变量记录最近遇到的日期项,遍历到新日期时更新该变量
  • 时间项都包含冒号,以此作为判断依据
  • 遇到时间项时,将其与当前日期拼接后加入结果列表
  • 运行后输出的结果与目标列表完全匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 05:20:08