Python - While-Loop直到列表为空

Ada*_*rrh 6 python

我正在使用Django,我有一个已转换为list(unpaid_sales)的对象的查询集.我正在执行一个循环遍历此列表并对每个项目进行操作的进程,直到列表为空或给定的整数(bucket)达到零.

我就是这样设置的:

while unpaid_sales:
    while bucket > 0:
        unpaid_sale = unpaid_sales.pop(0)
        ...do stuff
Run Code Online (Sandbox Code Playgroud)

在某些情况下,我收到以下错误:

从空列表中弹出

我的逻辑出了什么问题?

tyn*_*ynn 6

你的最终标准必须有所区别:循环同时有项目,而且bucket是积极的.or这不是正确的操作.

while unpaid_sales and bucket > 0
    unpaid_sale = unpaid_sales.pop(0)
    #do stuff
Run Code Online (Sandbox Code Playgroud)


MMF*_*MMF 5

不要使用单独的while循环.做如下:

while unpaid_sales and bucket > 0 :
    unpaid_sale = unpaid_sales.pop(0)
    ...do stuff
Run Code Online (Sandbox Code Playgroud)