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

如何基于week值匹配替换模板字典列表项并合并已知字典列表

合并字典列表的实现方案

核心思路

以week作为匹配的唯一标识,先把已知值列表转换成字典(键为week,值为对应字典),快速定位匹配项;接着遍历模板列表完成替换,最后把模板中没有的已知值项补充进去。

代码实现

# 1. 将已知值列表转为以week为键的字典,提升查找效率
known_dict = {item['week']: item for item in known_values_list}

# 2. 遍历模板列表,替换匹配项
final_list = []
for template_item in list_of_dicts_template:
    week_num = template_item['week']
    if week_num in known_dict:
        # 可选:如果需要统一字段名(比如把tickets改为count_tickets),取消下面注释
        # matched_item = known_dict[week_num].copy()
        # matched_item['count_tickets'] = matched_item.pop('tickets')
        # final_list.append(matched_item)
        final_list.append(known_dict[week_num])
        del known_dict[week_num]  # 移除已匹配项,避免后续重复添加
    else:
        final_list.append(template_item)

# 3. 补充模板中没有的已知值项
final_list.extend(known_dict.values())

说明

  • 若需要统一结果字段名(比如把已知值中的tickets替换为模板里的count_tickets),取消代码中的注释部分即可,输出结果会和预期结构完全一致。
  • 转换为字典的操作能将查找效率从O(n)降到O(1),处理大量数据时更高效。

内容的提问来源于stack exchange,提问作者Jaroslav H.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 08:35:19