Isso seria melhor perguntado no StackOverflow.
Aqui está a maneira mais pythonic de fazer isso:
d1 = {'a': 10, 'b': 20, 'c': 30, 'd': 40}
d2 = {'z': 260, 'd': -12, 'r': 1, 'b': 0}
# Use a dictionary comprehension to collect d2 values of shared key
d3 = {key:d2[key] for key in d1 if key in d2}
Este código python usa uma compreensão de dicionário para iterar pelas chaves de d1
e, se a chave estiver em d1
e d2
, armazene a chave em d3
com o valor de d2
.
Aqui está o resultado no interpretador python:
>>> d1 = {'a': 10, 'b': 20, 'c': 30, 'd': 40}
>>> d2 = {'z': 260, 'd': -12, 'r': 1, 'b': 0}
>>> d3 = {k:d2[k] for k in d1 if k in d2}
>>> d3
{'d': -12, 'b': 0}
Nota: você não precisa chamar d1.keys()
, mas é uma boa prática. Eu intencionalmente não chamei .keys()
.