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