gpt4 book ai didi

python - 从双端队列的后面删除项目

转载 作者:太空宇宙 更新时间:2023-11-04 00:07:11 26 4
gpt4 key购买 nike

我在 Python 中使用出列。我知道要从出队中删除某个项目,我可以通过它的索引来完成。像这样:

from collections import deque
deq = deque([1, 2, 3, 4, 5, 6, 7, 8])
del deq[1]

现在我想从dequeue的末尾删除多个item,所以我用这个:

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)

我希望新的 deqdeq=[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()

弹出最后一个元素(并返回它)

关于python - 从双端队列的后面删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53739647/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com