博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
函数,迭代器,生成器
阅读量:5304 次
发布时间:2019-06-14

本文共 746 字,大约阅读时间需要 2 分钟。

迭代器:循环反馈的容器(集合类型)

——不同于索引取值,但也可以循环的从容器对象中从前往后逐个返回内部的值

 

优点:不依赖索引,完成取值

缺点:不能计算长度,不能指定位取值(只能从前往后逐一取值)

 

可迭代对象:内置有__iter__()方法的对象,称之为可迭代对象

 

迭代器对象:内置有__next__()方法的对象,称之为迭代器对象。可以通过调用_next_()方法完成取值。

#迭代器即迭代的工具,那什么是迭代呢?#迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值while True: #只是单纯地重复,因而不是迭代    print('===>')     l=[1,2,3]count=0while count < len(l): #迭代    print(l[count])

 生成器

只要函数内部包含有yield关键字,那么函数名()的到的结果就是生成器,并且不会执行函数内部代码

def func():    print('====>first')    yield 1    print('====>second')    yield 2    print('====>third')    yield 3    print('====>end')g=func()print(g) #

 生成器就是迭代器

g.__iter__g.__next__#2、所以生成器就是迭代器,因此可以这么取值res=next(g)print(res)

 

 

生成器对象:就是一个迭代器对象

——可以通过_next_()方法取值,得到yield关键字的返回值

 

 

 

转载于:https://www.cnblogs.com/legend27/p/11045910.html

你可能感兴趣的文章
Linux 终端连接工具 XShell v6.0.01 企业便携版
查看>>
JS写一个简单日历
查看>>
LCA的两种求法
查看>>
Python 发 邮件
查看>>
mysql忘记密码的解决办法
查看>>
全面分析Java的垃圾回收机制2
查看>>
[Code Festival 2017 qual A] C: Palindromic Matrix
查看>>
修改博客园css样式
查看>>
Python3 高阶函数
查看>>
初始面向对象
查看>>
docker一键安装
查看>>
leetcode Letter Combinations of a Phone Number
查看>>
Exercise 34: Accessing Elements Of Lists
查看>>
ALS算法 (面试准备)
查看>>
Unity 5.4 测试版本新特性---因吹丝停
查看>>
7.5 文件操作
查看>>
DFS-hdu-2821-Pusher
查看>>
Spring事务管理的三种方式
查看>>
MyEclipse中将普通Java项目convert(转化)为Maven项目
查看>>
node js 安装.node-gyp/8.9.4 权限 无法访问
查看>>