如何用Python读取TXT文件并去除其中重复元素?
解决方法
你当前得到的data_into_list是仅包含单个字符串元素的列表,字符串内部是用逗号分隔的重复值。要去除重复,需要先把这个字符串拆分成独立元素的列表,再进行去重操作。
方法1:用集合快速去重(无序)
集合会自动剔除重复元素,但会打乱原有顺序,代码修改如下:
# 使用with语句更安全,无需手动关闭文件 with open("my_txt.txt", "r") as my_file: data = my_file.read() # 先按换行分割,取第一个元素(你的文件内容为一行),再按逗号拆分出独立元素 items = data.split("\n")[0].split(",") # 转集合去重后再转回列表 unique_items = list(set(items)) print(unique_items)
输出示例:['MUR', 'COP'](顺序可能随机)
方法2:保持原有顺序去重
如果需要保留元素第一次出现的顺序,可以用遍历+记录的方式:
with open("my_txt.txt", "r") as my_file: data = my_file.read() items = data.split("\n")[0].split(",") unique_items = [] seen = set() for item in items: if item not in seen: seen.add(item) unique_items.append(item) print(unique_items)
输出示例:['MUR', 'COP'](顺序和原字符串一致)
补充说明
- 原代码中
data.split("\n")得到按换行分割的列表,由于你的文件内容是一行,取索引[0]即可拿到目标字符串。 - 使用
with语句操作文件可自动关闭文件,避免资源泄漏。
内容的提问来源于stack exchange,提问作者Yvar
相关产品推荐
相关产品推荐

