저는이 작업을 한동안 진행해 왔으며, 영어 텍스트를 스웨덴어로 번역 한 함수를 작성하는 작업을 수행하고 있습니다. 나는 keys가 & 값을 가진 dicitonary를 만들었고, key는 영어 단어이고 value는 스웨덴어 단어입니다.파이썬 함수가 빈 목록을 반환합니다.
나는 어떻게 생각 하나 : 나는 2 개의 루프가 있어야한다고 생각했다. 첫 번째는 사전의 키와 값을 반복해야하고, 두 번째 것은 문자열을 반복해야하며, 그 다음에 사전의 키가 문자열의 단어와 같은지 확인하는 조건이 있어야합니다. 그렇다면 키 값을 목록에 추가하십시오.
문제 : 이 함수는 빈 목록을 반환합니다. 나는 이것이 당신이 찾고 있던 무슨 생각
def translate(a):
trs = {"merry":"god", "christmas":"jul", "and":"och", "happy":"gott", "new":"nytt", "year":"år"}
translated = []
for k, v in trs.iteritems():
for i in a.split(" "):
if trs[k] == i:
translated.append(trs[v])
return translated
print translate("merry christmas and happy new year")
루프에서는'trs'의 키로'k'를, 값으로'v'를 이미 가지고 있습니다. 'trs [k]'와'trs [v]'와 같이 키로'trs'를 다시 넣는 이유는 무엇입니까? –
"사전에있는 키가 문자열에있는 단어와 같으면"잘 모르겠다. ** 값 ** 인'trs [k]'와 비교하면'if i == k'를 체크 할 필요가있다. 열쇠와 대조 해봐. –
무슨 뜻입니까? trs 사전의 키가 문자열 (i)의 단어와 같으면 '번역 된'목록에 값을 추가하고 싶습니다. –