码迷,mamicode.com
首页 > 其他好文 > 详细

生成器初探

时间:2018-05-08 14:40:29      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:生成器   ==   分享   nbsp   UNC   __next__   code   src   div   

什么是生成器:
技术分享图片

生产器函数:

def
test(): yield 1 #yield相当于return 但是可以return多次 yield 2 yield 3 g=test() print(来自函数,g) print(g.__next__()) print(g.__next__())
#三元表达式

name=alex res = ‘SB if name == alex else 帅哥‘ #意思就是如果nam是alex返回的就是SB,如果不过则返回帅哥,三元就是if 以及如果ture返回的 以及如果false返回的值
print(res)


#列表解析是第一个代码块,坏处就是占内存

egg_list=[]
for i in range(10): #一般操作
egg_list.append(‘鸡蛋%s‘ %i)
print(egg_list)

l=[‘鸡蛋%s‘ %i for i in range(10)] #也可以两元
l1=[‘鸡蛋%s‘ %i for i in range(10) if i > 5 ] #这就是一个三元表达式
l1=[‘鸡蛋%s‘ %i for i in range(10) if i > 5 else i] #没有四元表达式
l2=[‘鸡蛋%s‘ %i for i in range(10) if i < 5] #不能加else但是可以改条件

#如果不要鸡蛋而是要老母鸡自己生鸡蛋
laomuji=(‘鸡蛋%s‘ %i for i in range(10)) #生成器表达式,就是把上边的列表解析的中括号改成小括号
print(laomuji)
print(laomuji.__next__())
print(next(laomuji))


l=[1,2,3,34]
map(func,l)

print(sum(l))
print(sum())
print(sum(i for i in range(10000000000000))) #sum里面就是一个生成器 sum是内置函数自己运行迭代
 
技术分享图片


生成器初探

标签:生成器   ==   分享   nbsp   UNC   __next__   code   src   div   

原文地址:https://www.cnblogs.com/newt/p/9007401.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!