while循环是条件性的,for循环是迭代性的。
for循环会访问所有迭代对象中的所有元素,并在所有条目都结束后结束循环。
for循环迭代序列有三种基本的方式,分别是通过序列项迭代、通过索引迭代、通过项和索引迭代
1.通过序列项迭代
namelist = ['科比','毛线','小鸟','星爷'] for i in namelist: print(i)
结果如下:
科比
毛线
小鸟
星爷
2.通过索引迭代
namelist = ['科比','毛线','小鸟','星爷'] for i in range(len(namelist)): print(namelist[i-1])
说明:使用内建函数len()来获取序列的长度,使用range()函数创建了要迭代的对象。注意迭代绝对不能对单个对象进行。
结果如下:
星爷
科比
毛线
小鸟
3.通过项和索引迭代
这里要说到enumerate这个函数。enumerate()可以生成有iter每个元素的index值和item值组成的元祖。
namelist = ['科比','毛线','小鸟','星爷'] for i,eachLee in enumerate(namelist): print("%d %s" % (i+1,eachLee))
执行结果:
1 科比 2 毛线 3 小鸟 4 星爷