在所有前面的例子中,循环变量都是一个数。按编程术语来讲,可以这么说:循环迭代处理一个数字列表。但是列表不一定非得是数字列表。从卡特的试验我们看到,它也可以是字符列表(一个字符串),还可以是一个字符串列表,或者是其他列表。
要了解它如何工作,最好的办法就是举个例子来说明。试着运行代码清单 8-7 中的程序,看看会发生什么。
代码清单 8-7 谁最酷 ?
for cool_guy in ["Spongebob", "Spiderman", "Justin Timberlake", "My Dad"]: print cool_guy, "is the coolest guy ever!"
现在,我们不再是循环处理一个数字列表,这里会循环处理一个字符串列表。而且不再将 i
作为循环变量,我使用的是 cool_guy
。每次循环时,循环变量 cool_guy
会取列表中一个不同的值。这仍然是一种计数循环,因为尽管列表不是数字列表,Python 也要统计列表中有多少项来确定循环多少次。(这一次我没有显示输出,你可以自己运行程序来看看结果。)
不过,如果我们无法提前知道需要多少次迭代呢?如果没有可用的值列表呢?别着急,接下来就会讲到!