<分区>
我一直在寻找迭代双端队列的最佳方法,同时使用 popleft 来使用第一个元素并减少每次迭代的队列。我基本上想在双端队列中删除第一个值,使用该值运行一些代码,然后执行相同的过程,直到双端队列中没有更多值为止。
我在网上找到的最好的方法是使用 try and catch block 来捕获 IndexError:
try:
while mydeque:
value = mydeque.popleft()
except IndexError:
# handle empty mydeque
当然抛出异常不是最好的方法。我也会捕获 while 循环中发生的任何 IndexError,这并不理想。使用 for 循环不起作用,因为我会在迭代期间修改双端队列。
执行此操作的最佳方法是什么?