Вы почти там:
c1 = "befreit"
c2 = "baeche"
c3 = "eise"
c4 = "sind"
c5 = "strom"
c6 = "und"
c7 = "vom"
mydict = {c1:"liberated", c2:"brooks", c3:"ice", c4:"are", c5:"river", c6:"and", c7:"from"}
print(mydict.keys())
print(mydict.values())
phrase = "vom eise befreit sind strom und baeche"
print(phrase)
translated_string = " ".join([mydict.get(e, "") for e in phrase.split(" ")])
print translated_string
Словари, глядя на синтаксисе, работают очень похожи на списки: Введя
element = mylist[0]
вы задаете список «дайте мне элемент по индексу 0" . словарей вы можете сделать что-то подобное:
value = mydict["key"]
Однако, если ключ отсутствует в словаре, вы получите исключение KeyError и программа зависнет. Альтернативный метод заключается в использовании Get():
value = mydict.get("key","")
Это будет возвращать значение ключа, если он существует, и если нет, то вернуть все, что вы заявили, во втором аргументе (здесь пустая строка) , Ключи для словарей могут быть любыми неизменяемыми объектами, которые вы хотите. В вашем случае строка.