时光中的匆匆独白,鬼父全集1-16,刘星夏雪演恋人
迭代是python最强大的功能之一,是访问集合元素的一种方式。
迭代器是一个可以记住遍历的位置的对象。
迭代器对象从集合的第一个元素开始访问,知道所有的元素被访问完结束。
迭代器只能往前不会后退。
迭代器有两个基本的方法:iter() 和 next()。
1 list = [1,2,3,4] 2 it = iter(list) #创建迭代器对象 3 print(next(it)) #输出迭代器的下一个元素 1 4 print(next(it)) #2 5 print(next(it)) #3 6 print(next(it)) #4
1 list = [1,2,3,4] 2 it = iter(list) #创建迭代器 3 for x in it: 4 print(x,end=' ') #1 2 3 4
也可以使用next()函数:
1 import sys 2 3 list = [1,2,3,4] 4 it = iter(list) #创建迭代器对象 5 6 while true: 7 try: 8 print(next(it),end=' ') 9 except stopiteration: 10 sys.exit() 11 # 1 2 3 4
在python中,使用了yield的函数被称为生成器(generator)。
跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单的理解:生成器就是迭代器。
在调用生成器运行的过程中,每次遇到yield时,函数会暂停并保存当前所有的运行信息,返回yield的值,并在下一次执行next()方法时,从当前位置继续执行。
调用一个生成器函数,返回的是一个迭代器对象。
1 import sys 2 3 def fibonacci(n): #生成器函数--斐波那契 4 a,b,counter = 0,1,0 5 while true: 6 if (counter > n): 7 return #作用:如果计数大于n,则结束while循环 8 yield a 9 a,b = b,a+b 10 counter += 1 11 12 f = fibonacci(10) #f 是一个迭代器,由生成器函数返回生成 13 14 while true: 15 try: 16 print(next(f),end=' ') 17 except stopiteration: 18 sys.exit()
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Python 实现将numpy中的nan和inf,nan替换成对应的均值
python爬虫把url链接编码成gbk2312格式过程解析
网友评论