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

如何通过公共键Name合并两个Python字典列表并修复现有代码问题

现有代码问题分析
  • 核心错误是遍历字典键值对时未调用items()方法:直接迭代字典对象默认只会返回所有键,无法解包为k, v两个变量,运行时会直接抛出值错误。
  • 现有写法依赖两个列表的元素顺序完全匹配,虽然题目给出了该前提,但如果后续数据顺序发生变化,会出现字段合并错位的问题。
合并实现方案

方案1:适配现有逻辑的修复版

如果确认两个列表的元素顺序完全、永远匹配,直接修复内层循环的遍历逻辑即可:

for i in range(len(x)):
    # 加.items()获取键值对
    for k, v in x[i].items():
        y[i][k] = v

方案2:按公共键Name匹配的通用方案

不依赖列表顺序,鲁棒性更高,更推荐使用:

# 先将x转为以Name值为键的映射字典,O(1)复杂度就能查找到对应数据
x_mapping = {item['Name']: item for item in x}

# 遍历y的每个字典,合并x中对应Name的所有字段
for y_item in y:
    y_item.update(x_mapping[y_item['Name']])

运行后即可得到目标格式的y列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 06:45:02