gpt4 book ai didi

Python将dict中的键与另一个div的值进行比较/替换

转载 作者:太空宇宙 更新时间:2023-11-03 14:25:13 25 4
gpt4 key购买 nike

我正在寻找一种方法来将字典的值与另一个字典的键进行比较/替换,如下所示:

DicA = {'abc' : 1 , 'def' : 2 , 'ghi' : 3}

DicB = {3: 'klm' , 2 : 'nop' ,1 : 'qrs'}

结果应该是:

DicC = {'abc' : 'qrs' , 'def' : 'nop' ,'ghi' : 'klm'}

因此,DicA 中的值“1”被替换为“qrs”,因为它们键入的 DicB(1)DicA(1) 中的值匹配) 所以结果是 -> abc : qrs。

  1. 如何将键与另一个字典的值进行比较?(for 循环)?

  2. 之后如何替换它?

  3. 有没有办法使用已实现的 map() 函数来实现此目的?例如

map(lambda dicA, dicB):

最佳答案

你可以通过字典理解来做到这一点:

dicA= {'abc': 1, 'def': 2, 'ghi': 3}
dicB= {3: 'klm', 2: 'nop', 1: 'qrs'}

dicC = {key: dicB[val] for key, val in dicA.items()}

但是,如果 dicB 没有 dicA 中某一项的 key ,则此操作将会失败。正如 MCBama 所指出的,您可以使用接受默认值的 get 字典方法来解决这个问题。

dicA = {'abc': 1, 'def': 2, 'ghi': 3}
dicB = {2: 'nop', 1: 'qrs'}

dicC = {key: dicB.get(val,"") for key, val in dicA.items()}
# {'abc': 'qrs', 'def': 'nop', 'ghi': ''}

关于Python将dict中的键与另一个div的值进行比较/替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47684009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com