保持或不保持顺序地删除重复(一)|自学生信Python(第十九天)

保持或不保持顺序地删除重复

许多情况下,能够对冗余的数据进行删除重复操作非常有用。要删除重复,就需要找出 那些唯一的对象。 该操作可以选择保持元素的顺序(当顺序比较重要时) ,或者不保持顺序 (这样会更快) 。今天先学习保留顺序的删除重复元素。


写在前面的话:
本人是一枚生物学的学生,由于对生物信息学特别感兴趣,于是想自学生物信息学(新手莫怪)
。了解到生物信息学要有编程基础,尤其是要会一门编程语言,例如: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的爱好者不要像我一样眼高手低,学习编程就是要,思考,敲码,思考,敲码,敲码,再敲码!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容