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

如何用Python按标记拆分含ID-日期对的列表为两个目标列表?

Python实现列表拆分方案

这是个典型的结构化列表拆分需求,我给你写个简洁易读的实现,思路直接还容易维护:

实现思路

原始列表里的数字标记(比如'2'、'1')代表后续要提取的(ID,日期)对数量,我们只需要遍历列表,遇到标记值时,就按对应数量提取后续的ID和日期,分别存入两个目标列表即可。

代码实现

original_list = ['2', '16SCSE102014', '15/03/2019', '16SCSE101350', '15/03/2019', '1', '16SCSE102020', '02/02/2020']

# 初始化两个空列表用于存储结果
ids = []
dates = []
# 用索引控制遍历位置
current_index = 0

while current_index < len(original_list):
    # 将标记值转为整数,获取需要处理的(ID,日期)对数量
    pair_count = int(original_list[current_index])
    current_index += 1  # 跳过标记值,移动到第一个ID的位置
    
    # 按标记数量提取对应的数据对
    for _ in range(pair_count):
        ids.append(original_list[current_index])
        dates.append(original_list[current_index + 1])
        current_index += 2  # 移动到下一对数据的起始位置

# 输出结果
print("拆分后的IDs列表:", ids)
print("拆分后的日期列表:", dates)

运行结果

执行代码后会输出:

拆分后的IDs列表: ['16SCSE102014', '16SCSE101350', '16SCSE102020']
拆分后的日期列表: ['15/03/2019', '15/03/2019', '02/02/2020']

代码说明

  • 用current_index控制遍历位置,能根据标记值动态调整前进步数,避免重复处理元素
  • 每次遇到标记值,先转成整数确定要提取的对数,再循环提取对应的ID和日期
  • 逻辑清晰,即使原始列表后续增加更多标记和数据对,也能正确处理

内容的提问来源于stack exchange,提问作者Saurabh Kumar Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 14:47:30