Python如何获取文本文件中重复相邻单词出现的行号及对应词位
相邻重复单词检测程序行号获取方案
你需要在外层遍历文件行时通过enumerate同步计数行号,调整后的核心代码如下:
# start=1 表示行号从1开始计数,符合日常文本行号的使用习惯 for line_num, line in enumerate(textfile, start=1): # 内层获取单词对的序号,start=1对应单词序号从1开始计数 for word_idx, (prev_word, curr_word) in enumerate(zip(line.split(), line.split()[1:]), start=1): if prev_word == curr_word: print(f"Error:第{line_num}行第{word_idx}个位置出现相邻重复单词,内容为{prev_word}")
逻辑说明
- 外层
enumerate会同时返回行号和当前行的内容,默认从0开始计数,设置start=1即可匹配常规的文本行号规则 - 内层返回的
word_idx是相邻单词对的序号,对应第一个重复单词的位置为word_idx,第二个重复单词的位置为word_idx + 1,可根据你的输出需求调整展示逻辑 - 若需要忽略大小写、标点的影响,可在判断相等前对单词做预处理,示例:
prev_word.strip(',.!?').lower() == curr_word.strip(',.!?').lower() - 遍历完全部文本没有匹配到重复项时,统一输出No Error即可
内容的提问来源于stack exchange,提问作者Amal Jaimon
相关产品推荐
相关产品推荐

