码迷,mamicode.com
首页 > 其他好文 > 详细

迭代器

时间:2020-02-23 16:31:21      阅读:58      评论:0      收藏:0      [点我收藏+]

标签:img   width   instance   href   https   生成   www   image   遍历   

可迭代对象:

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

 

迭代器

标签:img   width   instance   href   https   生成   www   image   遍历   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!