从列表中逐步删除元素

3

我有一组浮点数,想要按照给定的索引范围逐步删除一组元素,就像这样:

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

然而,由于我正在遍历相同的列表,所以对于新列表来说,索引(范围)不再有效。 有人有关于如何正确删除元素的建议吗?

最好的祝福

3个回答

9

您真的需要逐步删除它们吗?

如果不需要,可以按照以下方式进行:

del myList[beginIndex:endIndex+1]

2

你可以从序列的末尾开始迭代:

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

1

像这样的东西?

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接