标签:__iter__ 计算 col 中断 append 循环 style log 数据
【1】列表生成器:列表生成式就是一个用来生成列表的特定语法形式的表达式。
1.基础语句结构:[exp for iter_var in iterable例如:a=[f(x) for x in range(10)]
2.工作过程:
迭代iterable中的每个元素;每次迭代都先把结果赋值给iter_var,然后通过exp得到一个新的计算值;最后把所有通过exp得到的计算值以一个新列表的形式返回。
相当于这样的过程:L = []
for iter_var in iterable:
L.append(exp)
详情介绍:https://www.cnblogs.com/yyds/p/6281453.html
【3】生成器:
1.作用:按照某种算法不断生成新的数据,直到满足某一个指定的条件结束。
构造生成器的两种方式:
在执行过程中,遇到yield关键字就会中断执行,下次调用则继续从上次中断的位置继续执行。
生成器的调用
要调用生成器产生新的元素,有两种方式:
# print(list(range(10))) # s=(x*2 for x in range(10)) # print(s)#<generator object <genexpr> at 0x000001EBD2E2CFC0>生成器对象 # for i in s: # # #print(s.__next__()) # print(next(s),i)#等价于s.__next__()取下一个元素 # print(next(s)) # print(next(s)) #生成器就是一个可迭代对象(Iterable) #生成器一共两种创建方式 #1(x*2 for x in range(5)) #2.yieId def foo(): print(‘ok‘) yield 1 print(‘ok2‘) yield 2 g=foo() # print(g) # for i in foo(): # print(i) # next(g) # next(g) #什么是可迭代对象(是否有_iter_) l=[1,2,3] l.__iter__() def fid(max): n,before,after=0,0,1 while n<max: yield before,after=after,before+after n=n+1 fid(5)
标签:__iter__ 计算 col 中断 append 循环 style log 数据
原文地址:https://www.cnblogs.com/lanyinhao/p/9131785.html