私信  •  关注

mjv

mjv 最近创建的主题
mjv 最近回复了
14 年前
回复了 mjv 创建的主题 » 使用python检查单词

您拥有的代码片段是功能性的。例如,请参见

>>> refDict = {'alpha':1, 'bravo':2, 'charlie':3, 'delta':4}
>>> s = 'he said bravo to charlie O\'Brian and jack Alpha'
>>> for word in s.split():
...   if word not in refDict:
...       print(repr(word))  # by temporarily using repr() we can see exactly
...                          #  what the words are like
...
'he'
'said'
'to'
"O'Brian"
'and'
'jack'
'Alpha'     # note how Alpha was not found in refDict (u/l case difference)

因此,词典的内容必须与你所想的不同,否则清单上的单词就不会 确切地 当它们出现时(例如,使用空格或大写;请参阅print语句中repr()(*)的使用,以帮助识别前者的情况)。

调试建议:关注清单中的第一个单词(或者您怀疑的第一个单词将在字典中找到)。然后,对于这个单词和这个单词,请详细打印它,包括它的长度、两边的括号等,对于清单外的单词和字典中相应的键…

(*)是John Machin提出的建议。相反,我经常在打印时使用方括号或其他字符('['+word+']'),但是repr()在输出中更为精确。