for语句
Python 中 for 的语义不同于C语言中的循环,而是遍历迭代器——对一个迭代器(实现了 __next__)或者可迭代对象(实现了 __iter__)而言的。
比如:
for item in iterable:
do_something(item)
其实是等价于:
_iterable = iter(iterable) # iterable.__iter__()
while True:
try:
do_something(next(_iterable)) # iterable.__next__()
except StopIteration:
break
类似于PHP 中的 foreach语句。
range函数和enumerate函数
range函数可以实现下标对循环的控制。
range(1,5) #代表从1-5
range(1,5,2) #代表从1-5,间隔为2
range(5) #代表从0-5
enumerate函数
利用enumerate()函数,可以在每次循环中同时得到下标和元素。
S = 'abcde'
for (index,str) in enumerate(S):
print index,str
enumerate()在每次循环中,返回的是一个包含两个元素的元组(tuple),两个元素分别为index和str。
zip函数
从多个列表中,依次各取出一个元素。每次取出的(来自不同列表的)元素合成一个元组,合并成的元组放入zip()返回的列表中。zip()函数起到了聚合列表的功能。
ta = [1,2,3]
tb = [4,5,6]
zipped = zip(ta,tb)
print(zipped)