Skip to main content
 首页 » 编程设计

python之将 Python 字典的值替换为与其他字典键匹配的另一个字典的值

2025年05月04日13me-sa

目前我有两本字典

dictionary1 = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'} 
dictionary2 = {'value1': 'AAA', 'value3': 'CCC'} 

我想用 dictionary2 中的值替换 dictionary1 的值,上面的示例将产生以下输出

{'key1': 'AAA', 'key2': 'value2', 'key3': 'CCC'} 

根据我读过的其他示例,我认为我应该按如下方式开始我的代码:

for key, value in dictionary1.iteritems(): 
    if value == 

现在我不确定循环遍历另一个字典以查找字典 1 中的值是否与字典 2 中的键匹配的最佳方法。

请您参考如下方法:

你可以用字典理解来做到这一点,就像这样

>>> dictionary1 = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'} 
>>> dictionary2 = {'value1': 'AAA', 'value3': 'CCC'} 
>>> {k: dictionary2.get(v, v) for k, v in dictionary1.items()} 
{'key3': 'CCC', 'key2': 'value2', 'key1': 'AAA'} 

这里,dict2.get(v, v)会尝试从dict2中获取值v对应的值。如果没有找到,则返回默认值(第二个参数),v 本身。

注意 1:您有问题的是字典,而不是列表。

注意 2:如果您使用的是 Python 2.7,那么您可能希望使用 dict1.iteritems 或 dict1.viewitems 而不是 dict1.items。在 this answer 中通过示例详细解释了原因。 .