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

如何比较两个Python字典并提取其中的新增键值对?

如何比较两个字典并提取新增条目?

嘿,我来给你一步步搞定这个问题!先看你给出的示例字典:

dict1 = {'AAA': '0.23444', 'BBB': '0.5343'}
dict2 = {'AAA': '0.34343', 'BBB': '0.3435', 'CCC': '0.53322'}

我们的目标是找出dict2里新增的条目(也就是dict1里没有的键值对),并把它们存入新变量。这里有两种实用的方法:

方法一:用集合差集快速搞定(推荐)

字典的keys()方法可以返回所有键的视图,我们可以把它转成集合后做差集运算,直接得到dict2独有的键:

# 获取dict2比dict1多出来的键
new_keys = dict2.keys() - dict1.keys()
# 根据这些键提取对应的键值对,存入新变量
new_entries = {k: dict2[k] for k in new_keys}

运行后,new_entries的值就是{'CCC': '0.53322'},完美符合你的需求!这种方法效率很高,集合操作在处理大量数据时比循环快很多。

方法二:遍历检查(适合新手理解)

如果你想更直观地看到每一步的判断,可以用循环遍历dict2的所有键值对,判断当前键是否不在dict1里:

new_entries = {}
for key, value in dict2.items():
    # 只保留dict1中没有的键值对
    if key not in dict1:
        new_entries[key] = value

这个方法逻辑直白,适合刚接触字典操作的同学理解,结果和上面的方法完全一致。

小补充

如果之后你还需要对比值有变化的条目(比如dict1和dict2里都有AAA,但值不一样),可以再扩展判断条件:

changed_entries = {k: dict2[k] for k in dict1 if dict1[k] != dict2[k]}

不过这次你的需求是新增条目,前面两种方法就足够啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:30:20