如何根据输入列表中的模式(单词)生成子列表?

2024-10-02 16:22:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个列表,其中由foo分隔的特定语句块如下所示:

a=['E3P.B99990001.pdb_138:6.923:0.241:6.116',  'E3P.B99990001.pdb_397:15.856:3.506:8.144', 'foo',

'E3P.B99990002.pdb_138:4.499:4.286:8.260', 'E3P.B99990002.pdb_397:14.897:3.238:9.338',  'foo']

在这里,我想为每个blog创建一个主列表,其中每个blog由模式“foo”分隔,如下所示。在

^{pr2}$

主要思想是使用“foo”is分隔符来创建一个不同的子列表 ]在

我希望这可以理解。如果有人知道你能帮我摆脱困境吗。在

提前谢谢你

基于#Brien的代码给出了确切的答案:

sub = []
for item in a:
    if item == 'foo':
        ATOM_COORDINATE.append(a)
        sub = []
    else:
        a.append(item)
print sub

输出:

[
['E3P.B99990001.pdb_138:6.923:0.241:6.116', 'E3P.B99990001.pdb_397:15.856:3.506:8.144', 'E3P.B99990001.pdb_424:8.558:1.315:6.627', 'E3P.B99990001.pdb_774:14.204:-5.490:24.812', 'E3P.B99990001.pdb_865:15.545:4.258:10.007', 'E3P.B99990001.pdb_929:16.146:-6.081:24.770'],
['E3P.B99990002.pdb_138:4.499:4.286:8.260', 'E3P.B99990002.pdb_397:14.897:3.238:9.338', 'E3P.B99990002.pdb_424:5.649:5.914:8.639', 'E3P.B99990002.pdb_774:12.114:-6.864:23.897', 'E3P.B99990002.pdb_865:15.200:3.910:11.227', 'E3P.B99990002.pdb_929:13.649:-6.894:22.589']
                                               ]

Tags: 列表foois模式blog语句itempdb