Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子:
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print name
执行这段代码,会依次打印names的每一个元素:
Michael
Bob
Tracy
所以for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句。
第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现:
sum = 0
n = 99
while n >0:
sum = sum + n
n = n - 2
print sum
在循环内部变量n不断自减,直到变为-1时,不再满足while条件,循环退出。
Python的for...in 循环有三种常见用法:
第一,按长度遍历 :
若不需要索引号index,可以直接用"for obj in obj-list"语句遍历
第二,若既需要索引,又需要成员值,可以用enumerate()函数
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串),同时输出数据和数据下标,常用于for-in循环。
第三,不关心索引,只希望同时遍历多个列表,可以用zip函数。
zip函数将多个列表作为输入,在每次迭代的时候,将每个列表的当前成员组合成一个元组输出。