这篇文章主要介绍python列表生成器迭代器的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
列表生成式
例如 有一个列表
a =[2,3,4,5]
需要将列表都加上1
#第一种方法
for i in map(lambda i:i+1,a)
#第二种方法
for index,i in enumerate(a):
a[index] +=1
print(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) 这实际上就是一个迭代器
以上是“python列表生成器迭代器的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注天达云行业资讯频道!