中职电子与信息:yhon 3教程17——yhon3 迭代器与生成器.docx
《中职电子与信息:yhon 3教程17——yhon3 迭代器与生成器.docx》由会员分享,可在线阅读,更多相关《中职电子与信息:yhon 3教程17——yhon3 迭代器与生成器.docx(2页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Python 3教程17Python3迭代器与生成器十七、Python3迭代器与生成器(-)迭代器迭代是Python最强大的功能之一,是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能 往前不会后退。迭代器有两个基本的方法:法r()和next()o字符串,列表或元组对象都可用于创建迭代器:实例(Python 3.0+)list=l,2,3/4 it = iter(list) #创建迭代器对象 print (next(it) #输出迭代器的下一个元素 1 print (next(it)2迭代器对象可以使用常
2、规for语句进行遍历:实例(Python 3.0+)#!/usr/bin/python3list=l,2,3,4it = iter(list) #创建迭代器对象for x in it:print (x, end=)执行以上程序,输出结果如下:1234也可以使用next()函数:实例(Python 3.0+)#!/usr/bin/python3import sys# 引入 sys 模块list =1,2,3,4it = iter(list) #创建迭代器对象while True:try:print (next(it)except Stopiteration:sys.exit()执行以上程序,输出
3、结果如下:4(二)生成器在Python中,使用了 yield的函数被称为生成器(generator)o跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点 理解生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到yield时函数会暂停并保存当前所有的运行信息, 返回yield的值。并在下一次执行next。方法时从当前位置继续运行。以下实例使用yield实现斐波那契数列:实例(Python 3.0+)#!/usr/bin/python3import sysdef fibonacci(n): #生成器函数-斐波那契a, b, counter = 0,1, 0while True:if (counter n):returnyield aa, b = b, a + bcounter += 1f = fibonacci(lO) #f是一个迭代器,由生成器返回生成while True:try:print (next(f), end=)except Stopiteration:sys.exit()执行以上程序,输出结果如下:0 1 1 2 358 13 2134 55
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中职电子与信息:yhon 3教程17yhon3 迭代器与生成器 电子 信息 yhon 教程 17 yhon3 迭代器 生成器
限制150内