首页 > 解决方案 > 在 Python 中创建字典并使用它来翻译单词

问题描述

我在 Python 中创建了一个西班牙语-英语词典,并使用变量translation. 我想使用该变量将文本从西班牙语翻译成英语。这是我到目前为止使用的代码:

from corpus.nltk import swadesh
import my_books

es2en = swadesh.entries(['es', 'en'])
translation = dict(es2en)

for sentence in my_books.sents("book_1"):
    for word in my_books.words("book_1"):
        if word in es2en:
            print(translation, end= " ")
        else:
            print("unknown_word", end= " ")
    print("")

我的问题是,book_1实际上没有一个词被翻译成英文,所以我得到一个完整的文本unknown word。我想我可能translation以错误的方式使用......我怎样才能达到我想要的结果?

标签: python

解决方案


当给定一种以上的语言时,该.entries() 方法返回的不是字典,而是元组列表。有关示例,请参见此处。

您需要将您的对列表(2 元组)转换为字典。你正在用你的translation =陈述来做这件事。

但是,然后您忽略translation变量,并检查if word in es2en:

您需要检查单词是否在 中translation,然后查找正确的翻译,而不是打印整个字典。


推荐阅读