使用循环

时间:2018-03-09 03:39:35

标签: python text

我正在尝试列表中的'line1','line4'和'line5'。但结果出来并不是我所期望的。

item =  ['line1',
'line2',
'line3',
'line4',
'line5',
'line6',
'line7',
'line8']

removeLine = [0,1,3,5]

for x, y in grouped(sorted(removeLine), 2):
    print x,y
    del item[x:y]

print item

>>> ['line2', 'line3', 'line4', 'line7', 'line8']

但我的预期结果是

>>> ['line2', 'line3', 'line7', 'line8']
希望有人可以给我一些建议。非常感谢你。

1 个答案:

答案 0 :(得分:0)

  

您可以使用enumerate功能来实现此目的:

my_list = ['0','1','2','3','4','5']
index_to_delete = [0,3,4]

for i,j in enumerate(index_to_delete): #Groups indices with numbers
    del my_list[j-i] #After every deletion i increases to account for lost index
>>>print(my_list)
['1', '2', '5']

通过此,您可以了解到需要跟踪删除的一般信息。因此,在每次删除之后,要删除要删除的索引以应对删除。

这可以通过多种方式完成,使用enumerate对我来说似乎是最轻的情况,我没有修改我的代码来完成你的工作,因为它离开了你要实施,因为现在你有了这样做的一般想法。