可迭代对象、迭代器、生成器
可迭代对象:str、tuple, list, dict, generator
1 >>> from collections import Iterable 2 >>> s = 'abc' 3 >>> l = [1, 2, 3] 4 >>> gen = (i for i in range(10)) 5 >>> isinstance(s, Iterable) 6 True 7 >>> isinstance(l, Iterable) 8 True 9 >>> isinstance(gen, Iterable) 10 True
迭代器定义:
迭代器是一个可以记住遍历的位置的对象。
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
迭代器有两个基本的方法:iter() 和 next()。
1 >>> s2 = 'avx' 2 >>> type(iter(s2)) 3 <class 'str_iterator'> 4 >>> l1 = [1] 5 >>> type(iter(l1)) 6 <class 'list_iterator'> 7 >>> type(iter(gen)) 8 <class 'generator'>
因为生成器也拥有迭代器的定义,除了iter()方法,所以认为生成器也是迭代器的一种
浙公网安备 33010602011771号