生成器就是自己用python代码写的迭代器,生成器的本质就是迭代器。
通过以下两种方式构建一个生成器:
1、通过生成器函数
2、生成器表达式
生成器函数:
函数
def func1(x): x += 1 return x print(func1(5))
生成器函数
def func1(x): x += 1 yield x g_obj = func1(5) print(g_obj.__next__())
一个next对应一个yield。
yield VS return
return 结束函数,给函数的执行者返回值
yield 不会结束函数,一个next对应一个yield,给生成器对象。__next__()返回值。
生成器函数 VS 迭代器
区别1:自定制的区别:
l1 = [1,2,3,4,5] l1.__iter__() def func1(x): x += 1 yield x x += 3 yield x x += 5 yield x g1 = func1(5) print(g1.__next__()) print(g1.__next__()) print(g1.__next__())
区别2:内存级别的区别。
迭代器是需要可迭代对象进行转化,可迭代对象非常占内存
生成器直接创建,不需要转化,从本质就节省内存
send & next
send与next一样,也是对生成器取值(执行一个yield)的方法。
send 可以给上一个yield传值,第一次取值永远都是next
最后一个yield永远也得不到send的值
列表推导式:一行代码搞定所需要的任何列表
循环模式 格式:[变量(加工后的变量)for 变量 in interable
lis = [i for i in range(1,101)] print(lis) lis = ['骑士计划%s期'% i for i in range(1,16)] print(lis)
lis = [i**2 for i in range(1,11)] print(lis) print([i for i in range(1,31) if i % 3 == 0]) print([i*i for i in range(1,31) if i % 3 is 0 ])
筛选模式:
names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'], ['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']] print([q for name in names for q in name if q.count('e') >= 2])
列表推导式
优点:一行解决,方便
缺点:容易着迷,不易排错,不能超过三次循环
列表推导式不能解决所有列表的问题,无需刻意使用
生成器表达式:将列表推导式的 [] 换成 () 即可
g = (i for i in range(199)) print(g.__next__()) print(g.__next__()) print(g.__next__()) print(g.__next__()) print(g.__next__()) print(g.__next__()) print(g.__next__())
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- XSProject-Бочкабасколбаср(TheBestOf)(LimitedEdition)[2024][WAV]
- 群星1997 《国语卖座舞曲大碟》引进版[WAV+CUE][1.1G]
- 汪峰 白金超精选专辑《笑着哭》[WAV+CUE][1G]
- 群星1998《舞池中98》香港首版[WAV+CUE]
- 林忆莲.2006-回忆莲莲3CD【滚石】【WAV+CUE】
- 品冠.2002-U-TURN180°转弯【滚石】【WAV+CUE】
- 温岚.2001-有点野【阿尔发】【WAV+CUE】
- 房东的猫2018-柔软[科文音像][WAV+CUE]
- 黄乙玲1993-台湾歌古早曲[台湾首版][WAV+CUE]
- 黑鸭子2008-男人女人[首版][WAV+CUE]
- 张佳佳 《FOLK SONG Ⅱ Impromptus OP.23(即兴曲7首)》[320K/MP3][98.71MB]
- 祖海 《我家在中国 (维也纳金色大厅独唱音乐会)》[320K/MP3][118.55MB]
- 祖海 《我家在中国 (维也纳金色大厅独唱音乐会)》[FLAC/分轨][268.08MB]
- 张信哲.1996-思念【EMI百代】【WAV+CUE】
- 江美琪.2024-圆的?圆的>华纳】【FLAC分轨】