迭代与遍历的含义
遍历:Traverse
访问集合中的每一个元素
迭代:Iterate
通过反复执行调用某个过程达成目的,被称为迭代。 例如:递归(recursion)、循环(loop)等 (不同的迭代方式会参数不同的结果)
遍历和迭代的关系
迭代是遍历的方法,遍历是迭代的目的(或者结果)
迭代器与可迭代对象
迭代器可以被迭代,即迭代器是可迭代对象 可迭代对象不一定是迭代器。 (迭代器是可迭代对象的一种,而可迭代对象可不止有迭代器)
判断对象:isinstance( )
通过isinstance函数可以判断,对象的类型
from collections import Iterable #可迭代对象
from collections import Iterator #迭代器对象
L = [1,2,3,4]
L1 = isinstance(L,Iterable)
L2 = isinstance(L,Iterator)
F1 = isinstance((i for i in L), Iterable) # python中的for会返回迭代器
F2 = isinstance((i for i in L), Iterator)
print("[1,2,3,4]is Iterable:", L1)
print("[1,2,3,4]is Iterator:", L2)
print("(i for i in [1,2,3,4])is Iterable:", F1)
print("(i for i in [1,2,3,4])is Iterator:", F2)
#===========================
#OUTPUT
[1,2,3,4]is Iterable: True
[1,2,3,4]is Iterator: False
(i for i in [1,2,3,4])is Iterable: True
(i for i in [1,2,3,4])is Iterator: True