【发布时间】:2017-07-08 12:46:30
【问题描述】:
我正在练习“Python 中的自然语言处理”一书中的 nltk 示例。在尝试从 cmu 字典(第 2 章中提供的示例之一)中获取以音节“p”开头且音节长度为 3 的单词时,我没有得到任何返回值。我正在使用 Python 3。下面是代码:
条目 = nltk.corpus.cmudict.entries()
p3 = [(pron[0] + '-' + pron[2], 单词) 对于 pron,如果 pron[0] == 'P' 和 len(pron) == 3],则条目中的单词]
但是没有返回值:
p3 = []
但是,我知道价值是存在的。见下文:
[(word, pron[0] + '-' + pron[2]) for word, pron in entries if word == 'perch']
[('鲈鱼', 'P-CH')]
【问题讨论】:
-
我的错,我意识到了错误。我已经将“pron”的位置换成了“word”,从而导致了这个问题。更正后的代码是“[(pron[0] + '-' + pron[2], word) for word, pron in entries if pron[0] == 'P' and len(pron) == 3]”
-
我投票决定将此问题作为离题结束,因为这是他代码中 OP 的拼写错误。
标签: python-3.x nltk