一、迭代
通过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)...addressnameage>>> for value in d.values(): #迭代value值... print(value)...NANJINGnadech22>>> for key,value in d.items(): #迭代key-value对... print(key,value)...address NANJINGname nadechage 22
类似的,在for循环中有两个变量,如:
>>> for x, y in [(1, 1), (2, 4), (3, 9)]:... print(x,y)...1 12 43 9