2024-09-29 05:29:40 发布
网友
我有两个{}:
a={'a':'A','b':'B'} b={'a':123,'b':123}
我需要检查dictb中的键“a”和“b”(示例中的两个元素,在实际代码中,它将更多)是否存在于dicta中。如果是这样,我应该使用dicta中的值更改dictb中的键:
dict
预期结果:
b={'A':123, 'B': 123}
我怎么能做到
到目前为止,其他答案忽略了希望代码:
change keys in dict in b for values from dict a
我推断b中的任何数据,如果在a中没有替换键,则应该单独保留。因此,按a键创建新词典c是行不通的。我们需要直接修改b。一个有趣的方法是通过pop()方法,我们通常将其与列表关联,但也适用于字典:
b
a
c
pop()
a = {'a': 'A', 'b': 'B'} b = {'a': 123, 'b': 124, 'C': 125} for key in list(b): # need a *copy* of old keys in b if key in a: b[a[key]] = b.pop(key) # copy data to new key, remove old key print(b)
输出
> python3 test.py {'C': 125, 'A': 123, 'B': 124} >
这是如何做到的:
a={'a':'A','b':'B'} b={'a':123,'b':123} c = {} for key in a.keys(): if key in b.keys(): c.update({a[key]:b[key]})
{a[k] if k in a else k: v for k, v in b.items()}
到目前为止,其他答案忽略了希望代码:
我推断
b
中的任何数据,如果在a
中没有替换键,则应该单独保留。因此,按a
键创建新词典c
是行不通的。我们需要直接修改b
。一个有趣的方法是通过pop()
方法,我们通常将其与列表关联,但也适用于字典:输出
这是如何做到的:
相关问题 更多 >
编程相关推荐