2.13.2 for循环

while循环会给人压力,因为总是需要回答一个问题:还要做下一轮循环吗?这是容易出错的地方,经常出现无限循环、少循环一次或者多循环一次、地址越界等问题。

而for循环不会给我们这个压力,因为它通常用于确定的集合,会自动帮我们确认是否需要进行下一轮循环。来看以下简单的演示代码。


mvps = ['Harden', 'Westbrook', 'Curry', 'Curry', 'KD', 'Lebron', 'Lebron', 
    'Rose', 'Lebron', 'Lebron', 'Kobe', 'Nowitzki']
for mvp in mvps:
    print(mvp)

执行结果如下:


Harden
Westbrook
Curry
Curry
KD
Lebron
Lebron
Rose
Lebron
Lebron
Kobe
Nowitzki

for循环也可以用于dict对象和类对象的遍历。


mvp_candidates = {
    "2017-2018": ["Harden", "Lebron", "David"],
    "2016-2017": ["Westbrook", "Harden", "Leonard"],
    "2015-2016": ["Curry", "Leonard", 'Lebron']
}

for key, value in mvp_candidates.items():
    print(key, ":")
    print(value)

执行结果如下:


2017-2018 :
['Harden', 'Lebron', 'David']
2016-2017 :
['Westbrook', 'Harden', 'Leonard']
2015-2016 :
['Curry', 'Leonard', 'Lebron']