Извините, если название было запутанным. Упражнение, над которым я работаю, состоит в том, чтобы написать функцию, которая принимает два аргумента: словарь, который отображает шведские слова на английский, и строку, соответствующую шведскому предложению. Функция должна возвращать перевод предложения на английский
Моя функция хорошо работает с переводом, но выводится в неправильном порядке.
Например, следующий аргумент, состоящий из словаря и строки на шведском языке (англ .: «Хорошая обезьяна»)
translate_sentence({'en': 'a', 'fin': 'fine', 'apa': 'monkey'}, 'en fin apa')
должен вернуть
'a fine monkey'
но вместо этого он возвращает
'a monkey fine'
Вот скрипт для функции:
def translate_sentence(d, sentence):
result = []
delimiter = ' '
s = sentence.split()
for word in d:
if word in sentence and word in d:
d_word = (d[word])
result.append(d_word)
for word in s:
if word in s and word not in d:
s_word = word
result.append(s_word)
return delimiter.join(result)
Как я уже говорил, проблема в том, что функция возвращает переведенную строку со словами в неправильном порядке. Я знаю, что словари python не упорядочены, есть ли способ получить вывод в том же порядке, что и предложение?