gpt4 book ai didi

python - 如何从文件中读取文本、识别相邻的重复单词并报告它们在文本文件中的位置?

转载 作者:太空宇宙 更新时间:2023-11-03 15:26:30 24 4
gpt4 key购买 nike

我正在尝试从文本文件中读取引用并查找相邻出现的任何重复单词。以下为引述:

"He that would make his own liberty liberty secure,

must guard even his enemy from oppression;

for for if he violates this duty, he

he establishes a precedent that will reach to himself."
-- Thomas Paine

输出应如下所示:

在第 1 行找到单词:“Liberty”

在第 3 行找到单词:“for”

在第 4 行找到单词:“he”

我已经编写了从文件中读取文本的代码,但我在识别重复项的代码时遇到了问题。我尝试枚举文件中的每个单词,并检查一个索引处的单词是否等于下一个索引处的单词。但是,我收到索引错误,因为循环在索引范围之外继续。这是我到目前为止所想到的:

import string
file_str = input("Enter file name: ")
input_file = open(file_str, 'r')

word_list = []
duplicates = []

for line in input_file:
line_list = line_str.split()
for word in line_list:
if word != "--":
word_list.append(word)

for idx, word in enumerate(word_list):
print(idx, word)
if word_list[idx] == word_list[idx + 1]:
duplicates.append(word)

对我正在尝试的当前方法的任何帮助,或者对其他方法的建议,我们将不胜感激。

最佳答案

当您记录word_list时,您将丢失有关该单词所在行的信息。

也许更好的方法是在阅读这些行时确定重复项。

line_number = 1
for line in input_file:
line_list = line_str.split()
previous_word = None
for word in line_list:
if word != "--":
word_list.append(word)
if word == previous_word:
duplicates.append([word, line_number])
previous_word = word
line_number += 1

关于python - 如何从文件中读取文本、识别相邻的重复单词并报告它们在文本文件中的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43096357/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com