用词典翻译短语?(Python)

2024-09-27 19:32:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我得用字典把这个短语粗略地译成英语,但我不知道怎么翻译。在

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)

phrase.split()
for x in phrase:
    #something goes here

Tags: mydictprintc2c1c3c5phraseund
3条回答

在您的dict中存储这两个值:

 mydict = {"befreit":"liberated", "baeche":"brooks", "eise":"ice", "sind":"are", "strom":"river", "und":"and", "vom":"from"}


phrase = "vom eise befreit sind strom und baeche"
print(" ".join([mydict[w] for w in phrase.split()]))
from ice liberated are river and brooks

只要可能,您可以使用dict将原始短语中的每个单词映射到所需的语言:

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"}

phrase = "vom eise befreit sind strom und baeche"
translated = " ".join([mydict.get(p, p) for p in phrase.split(' ')])
print translated
# from ice liberated are river and brooks

请注意,您可能需要一个更仔细的标记化方案,而不是使用split(),来处理诸如单词后跟标点符号之类的情况。在

你就快到了:

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

从语法上看,字典的工作原理与列表非常相似: 通过键入

^{pr2}$

你问列表“给我索引0处的元素”。 对于字典,您可以执行类似的操作:

^{3}$

但是,如果你的程序没有出现错误,那么你的字典就会崩溃。另一种方法是使用get():

value = mydict.get("key","")

这将返回键的值(如果存在),如果不存在,则返回第二个参数中声明的值(这里是空字符串)。字典的键可以是您想要的任何不可变对象。在你的情况下是一根绳子。在

相关问题 更多 >

    热门问题