python-生成器进阶~生成器表达式
Posted dwenwen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-生成器进阶~生成器表达式相关的知识,希望对你有一定的参考价值。
列表推导式
y = [1,2,3,4,5,6,7,8] x = [1,4,9,16,25,36,49,64] # 方法一: x = [] for i in y: x .append(i*i) print(x) # 方法二 x = [i*i for i in y] print(x)
li= [i/2 for i in range(100)] print(li) x = [i*i for i in y] print(x)
生成器表达式
例题
y = [1,2,3,4,5,6,7,8] g = (i*i for i in y) #列表可以使用推导式,生成器也可以使用表达式 print(g) print(list(g)) #使用list把生成器强转成为列表 for i in g: print(i) laomuji=(‘鸡蛋%s‘ %i for i in range(10)) print(laomuji) print(next(laomuji)) print(laomuji.__next__()) g = (i*i for i in range(30) if i % 3 is 0) for i in g: print(i) print([i for i in range(30) if i%3 == 0]) print([i*i for i in range(30) if i%3 == 0])
以上是关于python-生成器进阶~生成器表达式的主要内容,如果未能解决你的问题,请参考以下文章
python学习第十四天 生成器函数进阶 生成器表达式 各种推导式
python进阶你还在使用for循环新建数组?生成器表达式帮你一行解决