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

当两个OrderedDict键相同时,如何合并对应键的字典值?

如何合并两个键相同的OrderedDict中对应键的字典值?

没问题,这事儿其实很简单,咱们直接看怎么操作:

先把你提供的两个原始OrderedDict列出来:

from collections import OrderedDict

# 第一个OrderedDict
dict1 = OrderedDict([
    ('3LEmxb4G9q5XnP9H5653ncMAbAgbDCzz8U', {'value': 0.5, 'valueSat': 50000000, 'txid': '4c4e1609392f6744cdf9ff57614eb5f6905f39baba8f046c3b3bd5a1e6b573c8'}),
    ('1ErSPkXKfdVgjseia1psccr6ng4zbyLNSE', {'value': 0.01349045, 'valueSat': 1349045, 'txid': '4c4e1609392f6744cdf9ff57614eb5f6905f39baba8f046c3b3bd5a1e6b573c8'})
])

# 第二个OrderedDict
dict2 = OrderedDict([
    ('3LEmxb4G9q5XnP9H5653ncMAbAgbDCzz8U', {'account_id': None, 'last_block': '', 'n_conf': 0, 'total_confirmations': 3}),
    ('1ErSPkXKfdVgjseia1psccr6ng4zbyLNSE', {'account_id': None, 'last_block': '', 'n_conf': 0, 'total_confirmations': 6})
])

方法一:字典解包(简洁直观)

因为两个字典的键完全一致,咱们遍历其中一个的键就行,对每个键对应的两个子字典进行合并:

merged_dict = OrderedDict()
for key in dict1:
    # 用字典解包合并两个子字典,生成新字典
    merged_value = {**dict1[key], **dict2[key]}
    merged_dict[key] = merged_value

方法二:update()方法(更安全,避免修改原数据)

如果担心直接操作原字典的子字典会带来副作用,可以先复制第一个子字典,再用第二个子字典更新它:

merged_dict = OrderedDict()
for key in dict1:
    # 先复制第一个子字典,防止原数据被修改
    merged_value = dict1[key].copy()
    # 用第二个子字典的键值对更新复制后的字典
    merged_value.update(dict2[key])
    merged_dict[key] = merged_value

两种方法最终得到的merged_dict效果完全一样:

OrderedDict([
    ('3LEmxb4G9q5XnP9H5653ncMAbAgbDCzz8U', {'value': 0.5, 'valueSat': 50000000, 'txid': '4c4e1609392f6744cdf9ff57614eb5f6905f39baba8f046c3b3bd5a1e6b573c8', 'account_id': None, 'last_block': '', 'n_conf': 0, 'total_confirmations': 3}),
    ('1ErSPkXKfdVgjseia1psccr6ng4zbyLNSE', {'value': 0.01349045, 'valueSat': 1349045, 'txid': '4c4e1609392f6744cdf9ff57614eb5f6905f39baba8f046c3b3bd5a1e6b573c8', 'account_id': None, 'last_block': '', 'n_conf': 0, 'total_confirmations': 6})
])

小提示:如果两个子字典有重复的键,后面的字典(方法一里的dict2[key]、方法二里的update操作)的值会覆盖前面的,不过你的例子里没有重复键,所以完全不用担心这个问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 09:02:14