2010-05-19 260 views
3

我有一個浮點數的列表,我想在指定的索引範圍內增量刪除 一組元素。像:從列表中增量刪除元素

for j in range(beginIndex, endIndex+1): 
    print ("remove [%d] => val: %g" % (j, myList[j])) 
    del myList[j] 

然而,因爲我遍歷同一個列表,索引(範圍) 都不再有效了新的列表。 有沒有人有關於如何正確刪除元素 的建議?

最好的祝願

回答

9

你真的需要incrementaly刪除它們?

如果沒有,你可以做到這一點是這樣的:

del myList[beginIndex:endIndex+1] 
1

這樣的事情?

>>> list1 = [1,2,3,4,5,6] 
>>> start, end = 2, 4 
>>> list1[:start] + list1[end:] 
[1, 2, 5, 6] 
2

您可以從最終迭代到序列的開端:

for j in range(endIndex, beginIndex-1, -1): 
    print ("remove [%d] => val: %g" % (j, myList[j])) 
    del myList[j]