import re
def check_duplicate_words(lines):
result = []
for i, line in enumerate(lines):
matches = re.findall(r'\b(\w+)\s+\1\b', line)
if matches:
for match in matches:
result.append((match,line))
return result
# 示例
text = '''This is a desk.
That is is a table.
There are many many apples.
'''
lines = text.split('\n')
result = check_duplicate_words(lines)
for word, line in result:
print(f"{word},{line}.strip()")
你的代码中,最后一行的print语句多了一个.strip()方法,所以导致输出结果中每一行的末尾都多了一个空格。
正确的修改后的代码如下,这样可以去掉每一行末尾的空格,满足你的预期了
result = check_duplicate_words(lines)
for word, line in result:
print(f"{word},{line.strip()}")
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢