Python 列表删除和对帐
Python List Del & Reconciliation
我正在尝试从列表中删除多个元素。
元素正在动态评估其索引,并存储在名为 "dstry" 的列表中。它可能看起来像这样:
arr = [1, 2, 2, 3, 5, 6, 7, 8, 9, 2]
dstry = [1, 2, 9]
但是,如果我这样做...
for i in dstry:
del arr[i]
列表开始缩小,dstry
的目标元素不在它们应该在的位置。
从逻辑上讲,我该如何解决这个问题?如果 del 可以一次解决所有问题并延迟数组的崩溃,那就太好了。我是否应该用标志值替换元素,然后在它们以后出现的任何地方删除它们,以便索引不是一个因素?
谢谢
有点创意的解决方案,但这应该可以解决您的索引问题。
arr = [1, 2, 2, 3, 5, 6, 7, 8, 9, 2]
dstry = [1, 2, 9]
x=len(arr)
for i in dstry:
del arr[-x+i]
print(arr)
我正在尝试从列表中删除多个元素。 元素正在动态评估其索引,并存储在名为 "dstry" 的列表中。它可能看起来像这样:
arr = [1, 2, 2, 3, 5, 6, 7, 8, 9, 2]
dstry = [1, 2, 9]
但是,如果我这样做...
for i in dstry:
del arr[i]
列表开始缩小,dstry
的目标元素不在它们应该在的位置。
从逻辑上讲,我该如何解决这个问题?如果 del 可以一次解决所有问题并延迟数组的崩溃,那就太好了。我是否应该用标志值替换元素,然后在它们以后出现的任何地方删除它们,以便索引不是一个因素?
谢谢
有点创意的解决方案,但这应该可以解决您的索引问题。
arr = [1, 2, 2, 3, 5, 6, 7, 8, 9, 2]
dstry = [1, 2, 9]
x=len(arr)
for i in dstry:
del arr[-x+i]
print(arr)