小编Ken*_*nny的帖子

根据同一列表中的下一个项目从列表中删除项目

我刚刚开始学习python,在这里我有一个蛋白质序列的排序列表(总共59,000个序列),其中一些重叠.我在这里制作了一个玩具清单,例如:

ABCDE
ABCDEFG
ABCDEFGH
ABCDEFGHIJKLMNO
CEST
DBTSFDE
DBTSFDEO
EOEUDNBNUW
EOEUDNBNUWD
EAEUDNBNUW
FEOEUDNBNUW
FG
FGH
Run Code Online (Sandbox Code Playgroud)

我想删除那些较短的重叠并保持最长的重叠,以便所需的输出看起来像这样:

ABCDEFGHIJKLMNO
CEST
DBTSFDEO
EAEUDNBNUW
FEOEUDNBNUWD
FGH
Run Code Online (Sandbox Code Playgroud)

我该怎么做?我的代码看起来像这样:

with open('toy.txt' ,'r') as f:
    pattern = f.read().splitlines()
    print pattern

    for i in range(0, len(pattern)):
        if pattern[i] in pattern[i+1]:
            pattern.remove(pattern[i])
        print pattern
Run Code Online (Sandbox Code Playgroud)

我收到了错误消息:

['ABCDE', 'ABCDEFG', 'ABCDEFGH', 'ABCDEFGHIJKLMNO', 'CEST', 'DBTSFDE', 'DBTSFDEO', 'EOEUDNBNUW', 'EAEUDNBNUW', 'FG', 'FGH']
['ABCDEFG', 'ABCDEFGH', 'ABCDEFGHIJKLMNO', 'CEST', 'DBTSFDE', 'DBTSFDEO', 'EOEUDNBNUW', 'EAEUDNBNUW', 'FG', 'FGH']
['ABCDEFG', 'ABCDEFGHIJKLMNO', 'CEST', 'DBTSFDE', 'DBTSFDEO', 'EOEUDNBNUW', 'EAEUDNBNUW', 'FG', 'FGH']
['ABCDEFG', 'ABCDEFGHIJKLMNO', 'CEST', 'DBTSFDE', 'DBTSFDEO', …
Run Code Online (Sandbox Code Playgroud)

python list bioinformatics

21
推荐指数
2
解决办法
1500
查看次数

标签 统计

bioinformatics ×1

list ×1

python ×1