删除 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
之后,而不是在 start
和 stop
之间
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)
我有一个值列表:
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
之后,而不是在 start
和 stop
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)