【发布时间】:2017-01-25 08:09:09
【问题描述】:
while 只要表达式为真,循环语句就会被执行。
在第 10 次之后,pop() 会返回一个 IndexError,因为列表中有 10 个元素。但是,下面的代码执行良好,没有任何错误。为什么会这样?
a = [x*x for x in range(10)]
while a.pop():
print("elements in the list")
这可能是一个非常基本的问题,但我正在努力适应 Python。
【问题讨论】:
-
它按你的预期工作。
-
我不确定这一点,但也许 while 循环将异常视为错误?我也很想知道。
-
@dawg 我正在使用 anaconda/3.5.2/pycharm。我又试了一次,它没有任何错误..
-
@SSNR 看起来像 while 不处理 StopIteration 而
for处理。
标签: python while-loop