这两个循环之间的差异

时间:2017-10-11 11:44:18

标签: python python-3.x

我自己研究Python 3并且有一个我不理解这两个循环的问题:

a = [1,2,3,4,5]

for count,item in enumerate(a):
    if count >= 3:
        print(item)
# output: [4,5]


for count,item in enumerate(a):
    if count >= 3:
        print(item)
    else:
        break
# shows me nothing

这些有什么区别?

唯一的区别是elsebreak,其中一个显示我想要的,而另一个则没有。为什么只有第一个有效?

1 个答案:

答案 0 :(得分:3)

break 语句结束循环。

当count = 0时,它转到else。然后,for循环结束,它什么都不打印。

让我们更改一下你的代码以便更好地理解:

l = [a, b, c, d, e]
for count,item in enumerate(l):
    if count >= 3:
        print(item)
for count,item in enumerate(l):
    if count >= 3:
        print(item)
    else:
        break

以下是第一个循环的步骤:

count = 0,item = a

count = 1,item = b

count = 2,item = c

count = 3,item = d =>打印(d)

count = 4,item = e =>打印(e)中

以下是第二个循环的步骤:

count = 0,item = a => else =>破