好的,我已经浏览了一下,但由于“词典”这个词在Python中已经有了意义,所以我很挣扎。我指的是牛津(或其他)英语词典。
我有一个单词的数组(列表)。我想循环它们并检查每个是否在英语词典中。如果是,我想将变量增加1.
除了“让Python读取字典”之外,这一切都非常简单,我不确定。我找到了一个我可以使用的.txt词典,但是那里的词语定义使得无法挑选出实际的词汇。
关于如何实现这一目标的任何想法?
答案 0 :(得分:1)
我有一个单词的数组(列表)。我想循环它们并检查每个是否在英语词典中。如果是,我想将变量增加1。
如果我理解正确,你可以这样做:
wordlist = ["foo", "bar", .....]
dictionary = …
words_in_dictionary = len([word for word in wordlist if word in dictionary])
除了“让Python读取字典”之外,这一切都非常简单,我不确定。我找到了一个我可以使用的.txt词典,但是那里的词语定义使得无法挑选出实际的词汇。
您可以使用以下方法获取更好的词典(等等unix'/usr/share/dict/words
),或者从字典中删除字词。 re
。如果您发布该词典的一部分,我可以帮助您。
答案 1 :(得分:1)
您已选择合适的文件来制作单词列表,您可以使用defaultdict
来跟踪列表中的单词是否出现在英语词典中。
from collections import defaultdict
words = ['foo', 'bar', 'baz']
wordlist = open('linuxwords.txt').read().splitlines()
d = defaultdict(bool)
for word in words:
d[word] = word in wordlist
for word in d:
print "Does the word '{0}' appear in the English dictionary: {1}".format(word, "yes" if d[word] else "no")
结果:
Does the word 'baz' appear in the English dictionary: no
Does the word 'foo' appear in the English dictionary: no
Does the word 'bar' appear in the English dictionary: yes