删除行

我是新手,我有以下问题:
假设我有一个列表,其中的单词每次都要删除
第1项以下和第2项以上各行的文字:
项目1
一个
B类
项目2
C
D
项目3
E
F
项目4
G
H
项目1

J
项目2
K

项目3
M
N
项目4
O
P
我不知道如何做到这一点:
我的剧本的一部分是
F=re.Compile("Item\[1\]\:")
G=re.Compile("项目\[2\]\:")
对于i,在ENUMERATE(LIST1)中的行:
F_Match=f.earch(行)
G_Match=g.search(行)
如果f_Match:
如果g_Match:
如果List1[i]f_Match:
如果List1[i] 删除列表1[i]
但这并不管用
如果有人能帮我,谢谢!

# 回答1


《安塔尔2》写道:
我发现您的代码有两个问题:
-您在迭代列表的同时更改了列表.不要那样做,它会
导致Python跳过项目,结果通常是一团糟.创造一个新的
相反,列出.
-你不会记录你是否在"第一项"和"第二项"之间.一个
简单的旗帜在这里会有所帮助.
以下是一个实用示例:
InList="项目1
一个
B类
项目2
C
D
项目3
E
F
项目4
G
H
项目1

J
项目2
K

项目3
M
N
项目4
O
P
".拆分线()
打印收录列表
输出列表=[]
介于=假
对于列表中的项目:
如果在以下范围内:
如果Item=="Item2":
介于=假
Outlist.append(项)
其他:
Outlist.append(项)
如果Item=="Item1":
介于=True
打印输出列表
彼得

标签: python

添加新评论