如何使用Python移除文本文件中的重复单词并保留空格分隔格式
实现方案
核心注意点
- 不能直接使用
set()去重,否则会打乱单词原本的出现顺序 - 读写文件时建议指定编码为
utf-8,避免特殊字符乱码
实现步骤
- 读取目标txt文件的全部内容,按空格分割为单词列表
- 遍历单词列表,保留首次出现的单词,过滤重复项
- 将去重后的单词列表用空格拼接为符合格式要求的字符串
- 用拼接后的字符串覆盖写入原txt文件
完整可运行代码
# 定义目标文件路径 file_path = "WordsHangman.txt" # 读取原文件内容 with open(file_path, "r", encoding="utf-8") as f: content = f.read().strip() # 按空格分割得到单词列表 word_list = content.split() # 去重并保留单词首次出现的顺序 unique_words = [] seen = set() for word in word_list: if word not in seen: seen.add(word) unique_words.append(word) # 拼接为「单词+空格+单词」的格式 result = " ".join(unique_words) # 覆盖写入原文件 with open(file_path, "w", encoding="utf-8") as f: f.write(result)
补充说明
如果你使用的是Python 3.7及以上版本,可利用字典键的唯一性和有序特性,简化去重代码为:unique_words = list(dict.fromkeys(word_list))
处理后的最终内容为:tiger apple time watch alien pen lion,完全符合要求。
内容的提问来源于stack exchange,提问作者Alexander
相关产品推荐
相关产品推荐

