python - 在 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
以错误的方式使用......我怎样才能达到我想要的结果?
解决方案
当给定一种以上的语言时,该.entries()
方法返回的不是字典,而是元组列表。有关示例,请参见此处。
您需要将您的对列表(2 元组)转换为字典。你正在用你的translation =
陈述来做这件事。
但是,然后您忽略该translation
变量,并检查if word in es2en:
您需要检查单词是否在 中translation
,然后查找正确的翻译,而不是打印整个字典。
推荐阅读
- python - 将 TFLite (TensorFlow) 转换为 MLModel (Apple)
- jquery - 在 wordpress 中切换类
- vtk - 在 VTK 中获取特定轮廓
- c# - 为什么客户端(C# 的 HoloLens)无法从服务器(python 的 PC)接收消息?(客户端可以将图像发送到服务器。)
- amazon-web-services - 是否可以使用 aws mediaconvert 从 mkv 视频文件中提取 subrip 字幕
- python - f-strings 多行打印顺序错误
- c# - 让线程在开始下一组任务之前等待所有任务完成
- flutter - 使用 bloc 处理来自 Post 方法的回调响应
- java - 添加Jpa maven依赖项后无法运行spring boot应用程序
- java - 如何在 Xpath 中动态分配属性值