可迭代对象、迭代器、生成器

可迭代对象: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()方法,所以认为生成器也是迭代器的一种

posted on 2021-05-09 18:02  苦海舟  阅读(52)  评论(0)    收藏  举报

导航