gpt4 book ai didi

Python while 循环 popleft() - 错误 : Empty deque

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

我正在为这个循环寻找更优雅的解决方案。我的双端队列是动态创建的,长度可以变化。在下面的示例中,列表只有两个项目,最多可以有 3 个项目。在我的应用程序中,列表最多可以包含 30 个项目。因此,我想避免编写大量 if 语句,并在双端队列为空时让代码停止执行。

from collections import deque

my_list = [ 1,2 ]
my_deque = deque ( my_list )

while my_deque:
alpha = my_deque.popleft()
beta = my_deque.popleft()
gamma = my_deque.popleft()

上面的代码执行所有三个命令,并且在 gamma 命令上返回一个“IndexError:从一个空的双端队列中弹出。”我理解为什么会发生此错误,但想知道是否缺少一个技巧来评估列表/双端队列是否在 while 循环(或另一种循环遍历长列表的创造性方法)中是否为空.

感谢您的帮助。

最佳答案

您可以使用与 while 循环中完全相同的方式 checkin :

while my_deque:
alpha = my_deque.popleft()
beta = my_deque.popleft() if my_deque else None
gamma = my_deque.popleft() if my_deque else None

但是,如果 alphabetagamma 构成一个工作单元,将它们组合成一个元组可能是更好的主意,并将其入队。

关于Python while 循环 popleft() - 错误 : Empty deque,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15153193/

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