在python中发现一个符号后,将内容添加到列表中

时间:2017-04-21 05:36:01

标签: python grep

我有以下数据。

1
abc
>
2
def
efg
>
3
hij
jkl
>
4
mno
5
pqr
stu

我想在每次出现'>'之后将所有内容添加到列表中并且数字说'3'。

输出应该像

[[abc],[[def],[efg]],[[hij],[jkl]],[mno],[[pqr],[stu]]]

2 个答案:

答案 0 :(得分:0)

假设项目在列表L

>>> from itertools import groupby
>>> [list(g) for k, g in groupby(L, ">0123456789".__contains__) if not k]
[['abc'], ['def', 'efg'], ['hij', 'jkl'], ['mno'], ['pqr', 'stu']]

它的格式不正确,因为你的格式不是有效的python。但是应该让你开始

答案 1 :(得分:0)

如果您使用文件存储信息,则可以使用以下方法:

result = []

with open("data.txt", "r") as f:

    # Read file line by line
    for line in f:
        line = line.strip()

        # Ignore '>' or numbers         
        if line == '>' or line.isdigit():
            continue
        result.append([line])

print(result)