python实现去重

1.输入数字,放在列表中,先进行排序,然后去重


numbers = []  # 创建一个空列表

while True:
    num = input("请输入一个数字(输入q退出):")
    if num == 'q':
        break
    else:
        numbers.append(int(num))  # 将输入的数字转换成整数并添加到列表中
        numbers.sort()#对数组进行排序
        new_list = list(set(numbers))#将数组转换成集合(set),然后再转回列表

print("您输入的数字为:", numbers)  # 输出列表中的所有数字
print("去重之后的数字是:", new_list)  # 去重输出列表中的数字

2.读取需要去重的文件,将文件循环去重写入另外一个问题里面


readPath = 'F:\\test\\111.txt'
writePath = 'F:\\test\\222.txt'
lines_seen = set()
outfiile = open(writePath, 'w', encoding='utf-8')
f = open(readPath, 'r', encoding='utf-8')

for line in f:
    if line not in lines_seen:
        outfiile.write(line)
        lines_seen.add(line)

python实现去重_第1张图片

 刚开始不明白为什么最后111还能被添加进去,调试后发现最后一个111没有换行符号,程序认定他们不一样,在文件尾部添加换行符号之后,结果正确了。

你可能感兴趣的:(算法,数据结构,python)