Сравнить два словаря и записать результат в третий

помогите, пожалуйста)

Даны 2 словаря: англо-русский и англо-немецкий. Сгенерировать из них русско- немецкий словарь. Если связь слов отсутствует(есть в одном словаре, но нет в другом), то запись в новый словарь не вносить.

Например:

dict1 = {'ape': 'обезьяна',
         'bat': 'летучая мышь',
         'cat': 'кот',
         'donkey': 'осёл'}

dict2 = {'ape': 'affe',  
         'bat': 'schläger',
         'cat': 'katze',
         'boy': 'junge'}

dict3 = {'ape': 'affe'} 

и т.д, а слова, которые не совпадают по словарям - не были включены в третий.


Ответы (2 шт):

Автор решения: DwayneBarry

Вот код для русско-немецкого словаря

dict1 =  {'ape': 'обезьяна', 'bat': 'летучая мышь', 'donkey': 'осёл'}
dict2 = {'ape': 'affe', 'bat': 'schläger', 'boy': 'junge'}

dict3 = {}

for i in dict1.keys():
    try:
        dict3[dict1[i]] = dict2[i]
    except:
        continue

print(dict3)

У вас просто в примере dict3 это англо-немецкий словарь

→ Ссылка
Автор решения: CrazyElf

Можно воспользоваться словарным сокращением и пересечением множеств ключей этих словарей:

dict1 = {'ape': 'обезьяна',
         'bat': 'летучая мышь',
         'cat': 'кот',
         'donkey': 'осёл'}

dict2 = {'ape': 'affe',  
         'bat': 'schläger',
         'cat': 'katze',
         'boy': 'junge'}

dict3 = {dict1[key]: dict2[key] for key in set(dict1) & set(dict2)}

Результат в dict3:

{'обезьяна': 'affe',
 'кот': 'katze',
 'летучая мышь': 'schläger'}
→ Ссылка