我有一个例子:
list = [['2 a', 'nnn', 'xxxx','last'], ['next, next'], ['3', '4', 'next']]
for i in range(len(list)):
if list[i][-1] == "last":
del(list[i+1])
del(list[i])
我想删除此列表,其中最后一项是“ last”,列表中的下一项。在此示例中,每次都会出现问题-我尝试了不同的配置,用numpy数组替换-毫无帮助。
引用:IndexError: list index out of range
我希望此列表的最终结果为['3', '4', 'next']
给我一些提示或帮助我解决问题。
尝试一下:
l = [['2 a', 'nnn', 'xxxx','last'], ['next, next'], ['3', '4', 'next']]
delete_next = False
to_ret = []
for x in l:
if x[-1] == 'last':
delete_next = True
elif delete_next:
delete_next = False
else:
to_ret += x
如果需要删除变量,请使用变量进行存储
newlist = []
for i in l:
if i[-1] == 'last':
continue
else:
newlist.append(i)