所以我找到了一个解决方案,但它真的很笨拙。。。
首先制作一个索引数组,在其中列出所有要删除的索引,如下所示
numbers = range(1, 50)
index_arr = []
for i in range(len(numbers):
if numbers[i] < 20:
index_arr.append(i)
之后,您希望删除数字列表中的所有条目,并将索引保存在索引_arr中。您将遇到的问题与之前相同。因此,在从数字arr中删除一个数字后,必须从索引_arr中的每个索引中减去1,如下所示:
numbers = range(1, 50)
index_arr = []
for i in range(len(numbers):
if numbers[i] < 20:
index_arr.append(i)
for del_index in index_list:
numbers.pop(del_index)
#the nasty part
for i in range(len(index_list)):
index_list[i] -= 1
这会管用的,但我想这不是我们想要的方法