博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python生成器学习
阅读量:6999 次
发布时间:2019-06-27

本文共 964 字,大约阅读时间需要 3 分钟。

python生成器学习:

案例分析一:

def demo():    for i in range(4):        yield ig=demo()g1=(i for i in g)  #(i for i in demo())g2=(i for i in g1) #(i for i in  (i for i in demo())) --->print(list(g1))  #list((i for i in demo()))   #执行后   list((0,1,2,3)) --->[0,1,2,3]print(list(g2)) #因为g1生成器(i for i in demo())已经使用,所有为空(),--->g2=(i for i in ())=()--->所以list(g2)=[]--------结果:[0, 1, 2, 3][]

案例分析二:

def add(n,i):    return n+idef test():    for i in range(4):        yield ig=test() # (i for i in range(4))for n in [1,10]:    g=(add(n,i) for i in g)#print(list(g))-----------结果:[20, 21, 22, 23]#解析:-------n=1g=(add(n+i)for i in (i for i in range(4)) )n=10g=(add(n+i)for i in (add(n+i)for i in (i for i in range(4)) ) )g:(add(n+i)for i in (add(n+i)for i in (0,1,2,3) ) )--->n=10 解:--->g=(add(10+i)for i in (add(10+i)for i in (0,1,2,3) ) )--->g=(add(10+i)for i in (10,11,12,13) )--->g=(20,21,22,23)--->list(g)=[20,21,22,23]

转载于:https://www.cnblogs.com/machangwei-8/p/10869898.html

你可能感兴趣的文章