对于某个单词的每一次出现,我需要通过在单词出现之前和之后显示大约5个单词来显示上下文。在
输入occurs('stranger', 'movie.txt')
时,文本内容文件中单词“陌生人”的输出示例:
目前我的代码:
def occurs(word, filename):
infile = open(filename,'r')
lines = infile.read().splitlines()
infile.close()
wordsString = ''.join(lines)
words = wordsString.split()
print(words)
for i in range(len(words)):
if words[i].find(word):
#stuck here
这将检索
words
中出现的每个单词的索引,该索引是文件中所有单词的列表。然后使用切片来获得匹配单词和前后5个单词的列表。在考虑一下^{} 工具。在
给定
演示
^{pr2}$详细信息
more_itertools.adjacent
返回元组的iterable,例如(bool
,item)对。字符串中满足谓词的单词返回True
布尔值。示例:从目标词的给定结果中筛选出相邻词。在
注意:^{} 是第三方库。由^{} 安装。
我建议根据
i
进行切片words
:(这将是你评论的地方)
或者,如示例所示打印:
^{pr2}$为了解释这个词出现在前5位:
另外,
find
并没有做你认为的那样。如果find()
找不到字符串,则返回-1
,该值在If语句中使用时计算结果为True
。尝试:相关问题 更多 >
编程相关推荐