Python 中翻译单词的最有效方法
Most efficient way to translate words in Python
您好,我想问一下您在下面看到的是否是翻译 python 中单词的最快、最有效的方法。我只需要从其他外语翻译成英语。将每种语言的词典分成一本词典会更有效,还是现在这样好?如果代码可以在 python 2.7 和 3.x 及更高版本中运行,那就太好了。在下面的代码中,我必须将 iteritems 更改为没什么大不了的项目。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
dct = {'apple': ['apfel', 'pomme', 'manzana', 'jabłko'],
'pineapple': ['ananas', 'ananas', 'piña', 'ananas']}
def translate(q):
for eng_word, trans_list in dct.iteritems():
for trans_word in trans_list:
if trans_word == q:
q = eng_word
print q
return q
query = 'pomme'
query = translate(query)
query = 'ananas'
query = translate(query)
print query
使用外来词为键、英文为值的字典。那么一行代码就可以在O(1)时间内完成翻译。
d = {'apfel': 'apple', 'jablko': 'apple', 'ananas': 'pineapple', 'manzana': 'apple', 'pomme': 'apple', 'pina': 'pineapple'}
print d["pomme"]
您好,我想问一下您在下面看到的是否是翻译 python 中单词的最快、最有效的方法。我只需要从其他外语翻译成英语。将每种语言的词典分成一本词典会更有效,还是现在这样好?如果代码可以在 python 2.7 和 3.x 及更高版本中运行,那就太好了。在下面的代码中,我必须将 iteritems 更改为没什么大不了的项目。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
dct = {'apple': ['apfel', 'pomme', 'manzana', 'jabłko'],
'pineapple': ['ananas', 'ananas', 'piña', 'ananas']}
def translate(q):
for eng_word, trans_list in dct.iteritems():
for trans_word in trans_list:
if trans_word == q:
q = eng_word
print q
return q
query = 'pomme'
query = translate(query)
query = 'ananas'
query = translate(query)
print query
使用外来词为键、英文为值的字典。那么一行代码就可以在O(1)时间内完成翻译。
d = {'apfel': 'apple', 'jablko': 'apple', 'ananas': 'pineapple', 'manzana': 'apple', 'pomme': 'apple', 'pina': 'pineapple'}
print d["pomme"]