从列表中逐步删除元素

时间:2010-05-19 10:59:17

标签: python list

我有一个浮点数列表,我想逐步删除 某一系列索引中的一组元素,某事。像:

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

但是,因为我在同一个列表上进行迭代,所以索引(范围) 对于新列表不再有效。 有没有人对如何删除元素有一些建议 正常?

祝福

3 个答案:

答案 0 :(得分:9)

你真的需要逐渐删除它们吗?

如果没有,你可以这样做:

del myList[beginIndex:endIndex+1]

答案 1 :(得分:2)

您可以从序列的结尾迭代:

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

答案 2 :(得分:1)

这样的东西?

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