要注意Python和C语言中的for语句表达形式完全不同。Python 的 for 语句依据任意序列(字符串、列表)中的子项,按照它们在序列中的顺序来进行迭代。
In [3]: str1 = 'mao'
In [4]: for i in str1:
...: print(i)
...:
m
a
o
对列表的循环与字符串几乎一致,只是子项不同。
In [5]: list1 = ['a','aa','aaa']
In [6]: for i in list1:
...: print(i,len(i))
...:
a 1
aa 2
aaa 3
for语句与range函数结合是一种很常见的组合,range函数主要提供一个数值序列。
In [8]: for j in range(len(list1)):
...: print(j,list1[j])
...:
0 a
1 aa
2 aaa
range提供的数值索引方式可以参考列表的切片,同样默认以0开始,且不包括最后一位,上面这种场合利用enumerate()函数表达会更加简单。
In [9]: for i,v in enumerate(list1):
...: print(i,v)
...:
0 a
1 aa
2 aaa