保持或不保持顺序地删除重复
许多情况下,能够对冗余的数据进行删除重复操作非常有用。要删除重复,就需要找出 那些唯一的对象。 该操作可以选择保持元素的顺序(当顺序比较重要时) ,或者不保持顺序 (这样会更快) 。今天先学习保留顺序的删除重复元素。
写在前面的话:
本人是一枚生物学的学生,由于对生物信息学特别感兴趣,于是想自学生物信息学(新手莫怪)。了解到生物信息学要有编程基础,尤其是要会一门编程语言,例如:R语言、Python、Perl等,还要熟悉Linux系统,作为生信小白,听说Python挺简单的,于是就自学了Python,花了两天时间了解了Python的基础语法后,今天想做个练习题试试手(实践是检验真理的唯一标准)。
从文本文件中保留顺序地选择性删除重复记录
可能会经常出现这样的情况: 需要去除文本文件的重复行,并创建一个只包含唯一元素的新文件。
假设有个包含ID的文本文件‘ID.txt’作为输入文件,内容为:
P04637
P02340
PI0361
Q29537
P04637
PI0361
PI0361
P02340
而要输出唯一的ID文件‘ID02.txt’,内容为:
P04637
P02340
PI0361
Q29537
P02340
下面是如何使用列表保留顺序的删除重复元素:
in_file = open('C:/Desktop/ID.txt')
out_file = open('C:/Desktop/ID02.txt','w')
unique = []
for line in in_file:
if line not in unique:
out_file.write(line)
unique.append(line)
out_file.close()
输出结果如图:
日常结尾:
虽然这是个小小的计算程序,但对于初学者的我来说每一次对原代码的升级改造,哪怕是读懂后的注释都感觉是一次进步提升,总之代码虽小,动手最重要!希望更多学习Python的爱好者不要像我一样眼高手低,学习编程就是要,思考,敲码,思考,敲码,敲码,再敲码!!