删除 python 中索引列表中的元素

Remove elements within a list of indexes in python

我有一个值列表:

list_of_value = [1,3,4,2,3,"start",3,4,5,"stop",5,6,7,6,"start",5,6,7,"stop"]

我需要从列表中删除“开始”和“停止”之间的元素(包括边界)。

输出应该是这样的:

[1,3,4,2,3,5,6,7,6]

我试过这样的事情:

for i, el in enumerate(list_of_values):
    if "start" in el:
        start_index = i
    if "stop" in el:
        stop_index = i
        for a in range(start_index,stop_index):
            del list_of_values[a]

但它不起作用。

你能帮帮我吗?

谢谢, 大卫

我的解决方案是你有一个名为 flag 的变量来知道何时将值附加到你的输出。它只会附加在 stop 之后,而不是在 startstop

之间
output = []
flag = False
for el in list_of_values:
    if "start" == el and not flag:
        flag = True
    if "stop" == el:
        flag = False
        continue
    if not flag:
        output.append(el)