Сравнить два словаря и записать результат в третий
помогите, пожалуйста)
Даны 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'}