python列表生成器迭代器实例解析

时间:2021-05-22

这篇文章主要介绍了python列表生成器迭代器实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

列表生成式

例如 有一个列表

a =[2,3,4,5]

需要将列表都加上1

#第一种方法for i in map(lambda i:i+1,a)
#第二种方法for index,i in enumerate(a): a[index] +=1print(a)
#第三种,简单列表生成式a = [i+1 for i in a]print(a)#加个三元运算符a = [ i *2 if i>3 else i for i in a]

1.列表生成器_惰性运算

1.1 生成器

中括号就是列表生成式,小括号就是列表生成器

a = ( i *2 for i in range(a))

def fib(num): count = 0 a,b = 0 ,1 #a=0, b= 1 while count < num: tmp = a a = b b = a + tmp #print(a) count +=1 yield a #返回a, 同时挂起当前这个函数, a返回给了通过__next__()调用当前函数的人 #return a print("done...")f = fib(10)print(f.__next__())

迭代器

所有的生成器都是迭代器,迭代器不一定都是生成器(不同的角度,用iter方法,python

内存对象认为迭代器,从本质上就一回事)

例如 python 3里面 range(0,10) 这实际上就是一个迭代器

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章