一、迭代
通过for循环来遍历一个列表,我们称这种遍历的方式为迭代。只要是可迭代对象都可以进行迭代操作。
以下代码可以用来判断一个对象是否是可迭代的。
一类是集合数据类型,如list
、tuple
、dict
、set
、str
等;
一类是generator
,包括生成器和带yield
的generator function(我们将在下一节中介绍)
>>> from collections import Iterable >>> isinstance("abc",Iterable) True >>> isinstance([1,2,3],Iterable) True >>> isinstance({"name":"nadech"},Iterable) True
通过迭代的方式,循环输出列表中的内容。
names = ["nadech","aguilera","sara"] for name in names: print(name)
如果在输出以上name的时候,我们希望在前边加上序号,变成索引-元素对的形式,那么可以通过enumerate函数实现。
names = ["nadech","aguilera","sara"] for i,name in enumerate(names): print(i,name)
#输出结果
0 nadech
1 aguilera
2 sara
在字典迭代的时候,我们可以迭代字典的key,value,或者是key-value对。
>>> d = {"name":"nadech","age":"22","address":"NANJING"} >>> for key in d: #迭代key值 ... print(key) ... address name age >>> for value in d.values(): #迭代value值 ... print(value) ... NANJING nadech 22 >>> for key,value in d.items(): #迭代key-value对 ... print(key,value) ... address NANJING name nadech age 22
类似的,在for循环中有两个变量,如:
>>> for x, y in [(1, 1), (2, 4), (3, 9)]: ... print(x,y) ... 1 1 2 4 3 9