Python - 使用 popleft() 遍历双端队列

标签 python loops deque

<分区>

我一直在寻找迭代双端队列的最佳方法,同时使用 popleft 来使用第一个元素并减少每次迭代的队列。我基本上想在双端队列中删除第一个值,使用该值运行一些代码,然后执行相同的过程,直到双端队列中没有更多值为止。

我在网上找到的最好的方法是使用 try and catch block 来捕获 IndexError:

try: 
    while mydeque: 
        value = mydeque.popleft()
except IndexError: 
# handle empty mydeque

当然抛出异常不是最好的方法。我也会捕获 while 循环中发生的任何 IndexError,这并不理想。使用 for 循环不起作用,因为我会在迭代期间修改双端队列。

执行此操作的最佳方法是什么?

最佳答案

mydeque 为空时,它在 while 循环中解析为 False

while mydeque:
    value = mydeque.popleft()

这将遍历 mydeque 中的所有值。

关于Python - 使用 popleft() 遍历双端队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53984791/

相关文章:

algorithm - 优先级队列和双端队列

python - 基于传递给函数的变量的决策

Python Twisted - 服务器通信

C getchar() 不等待输入/条件循环不 int

python - Pandas DataFrame 迭代切片

swift - 在 Swift 2.x 中迭代闭区间

algorithm - 使用 3 个堆栈实现 Deque(摊销时间 O(1))

css - WordPress 删除遗留 CSS 并包含新 CSS

python - TensorFlow 初始化 Tensor of ones

python - 在 JSON 中表示 bool 值