迭代器

可迭代对象:

1.生成器

2.元组,列表,集合,字典,字符串(需要借助iter()函数转换,变成了迭代器

判断是否可迭代?

 1 from collections import Iterable
 2 
 3 # 列表
 4 list1 = [1, 3, 4, 5]
 5 f = isinstance(list1, Iterable)
 6 print(f)
 7 
 8 # 字符串
 9 f = isinstance('abc', Iterable)
10 print(f)
11 
12 # 整型
13 f = isinstance(100, Iterable)
14 print(f)
15 
16 # 生成器
17 g = (x for x in range(10))
18 f = isinstance(g, Iterable)
19 print(f)

 迭代器是访问集合元素的一种方式,迭代器是一个可以记住遍历的位置的对象

迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束

迭代器只能往前不会后退

可以被next()函数调用并不断返回下一个值得对象称为迭代器:Iterator

问题:可迭代的是否就是迭代器?

list是可迭代的,但不是迭代器

生成器是可迭代的,也是迭代器

那怎么把list变成迭代器?

利用系统函数iter(),将可迭代的变成一个迭代器

list1 = iter(list1)

生成器与迭代器的关系

迭代器包括生成器,生成器是迭代器的一种

python next()函数

https://www.cnblogs.com/GumpYan/p/12340310.html

原文地址:https://www.cnblogs.com/GumpYan/p/12350048.html