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

如何从含日期与索引的嵌套列表中收集日期相同的索引?

解决日期索引分组问题

需求明确:将输入列表中同一日期对应的所有索引分组到子列表中,最终输出包含这些分组的新列表(示例中仅保留了包含多个索引的分组,若需保留所有日期的分组可调整逻辑)。

现有代码问题分析

  • 尝试代码1:变量x未定义,count变量无实际作用,逻辑无法实现分组,仅能打印部分匹配项,完全不符合需求。
  • 尝试代码2:条件if 1!=x是笔误(应为i!=x),且仅打印匹配的日期对,未收集索引,同时嵌套循环会导致重复比较,效率极低(对于1000条数据会执行100万次循环)。

正确解决方案

使用字典按日期分组索引是最简洁高效的方式,时间复杂度为O(n)(n为输入列表长度),适合处理1000条数据的规模:

date_list = [["2022-01-01", 3], ["2010-01-01", 1], ["2022-01-01", 12]]

# 初始化字典用于分组:键是日期,值是对应索引的列表
date_index_map = {}
for date, idx in date_list:
    if date not in date_index_map:
        date_index_map[date] = []
    date_index_map[date].append(idx)

# 生成结果:仅保留包含多个索引的分组(若要保留所有日期分组,直接取date_index_map.values()即可)
result = [indices for indices in date_index_map.values() if len(indices) > 1]
print(result)  # 输出: [[3, 12]]

代码说明

  1. 遍历输入列表,将每个日期对应的索引存入字典的对应列表中;
  2. 最后根据需求过滤结果:如果需要保留所有日期的索引分组,直接使用list(date_index_map.values()),结果会是[[3,12], [1]];如果只需要有多个索引的分组,就加上长度判断。

内容的提问来源于stack exchange,提问作者Mætju

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 16:25:31