我在Python中使用出队。我知道,要从出队中删除某个项目,我可以通过其索引来完成。像这样:
from collections import deque
deq = deque([1, 2, 3, 4, 5, 6, 7, 8])
del deq[1]
现在,我想从出队的末尾删除多个项目,因此我使用以下命令:
from collections import deque
deq = deque([1, 2, 3, 4, 5, 6, 7, 8])
for i in range(1, 5):
del deq[-i]
print(deq)
我希望新的
deq
是deq=[1, 2, 3, 4]
,但是输出是deq = [1, 3, 5, 7]
。为什么会这样呢? 最佳答案
最后一个元素的索引为-1
。删除最后一个元素时,要删除的下一个元素仍具有索引-1
from collections import deque
deq = deque([1, 2, 3, 4, 5, 6, 7, 8])
for i in range(1, 5):
del deq[-1]
也许更好的选择是
deq.pop()
弹出最后一个元素(并返回它)