当前位置: 首页 > news >正文

扬州建设信用网站深圳网站做优化哪家公司好

扬州建设信用网站,深圳网站做优化哪家公司好,wordpress 安装插件 ftp,数码科技网站人生苦短,我用python python 安装包资料:点击此处跳转文末名片获取 1.实现generator的两种方式 python中的generator保存的是算法, 真正需要计算出值的时候才会去往下计算出值。 它是一种惰性计算(lazy evaluation)。 要创建一个…

人生苦短,我用python

在这里插入图片描述

python 安装包+资料:点击此处跳转文末名片获取

1.实现generator的两种方式

python中的generator保存的是算法,
真正需要计算出值的时候才会去往下计算出值。
它是一种惰性计算(lazy evaluation)。

要创建一个generator有两种方式。

第一种方法:

把一个列表生成式的[]改成(),
就创建了一个generator:

>>> L=[x * x for x in range(10)]
>>> L
[0,1,4,9,16,25,36,49,6481]
>>> g = (x * x for x in range(10))#注意把[]改成()后,不是生成一个tuple,而是生成一个generator
>>> g
<generator object <genexpr> at 0x1022ef630>

第二种方式:
在函数中使用yield关键字,函数就变成了一个generator。

函数里有了yield后,执行到yield就会停住,
当需要再往下算时才会再往下算。
所以生成器函数即使是有无限循环也没关系,
它需要算到多少就会算多少,不需要就不往下算。

def fib():a,b = 0,1while True:yield aa, b = b, a + bf = fib()
print (f, next(f),next(f),next(f))
#<generator object fib at 0x7f89769d1fa0> 0 1 1

如上例,第一次输出f,
它就是一个generator,
之后每次next,它就执行到yield a。

当然其实平常很少用到next(),
我们直接用for循环就可以遍历一个generator,
其实for循环的内部实现就是不停调用next()。

生成器可以避免不必要的计算,
带来性能上的提升;
而且会节约空间,
可以实现无限循环(无穷大的)的数据结构。


在这里插入图片描述

2.可迭代对象(Iterable)和迭代器(Iterator)的概念

可以直接作用于for循环的对象统称为可迭代对象:Iterable

包括集合数据类型(list、tuple、dict、set、str等)和生成器(generator)。

可以使用isinstance()判断一个对象是否是Iterable对象。

>>>from collections import Iterable
>>> isinstance([],Iterable)
True
>>> isinstance({},Iterable)
True
>>> isinstance('abc', Iterable)
True
>>> isinstance((x for x in range(10)),Iterable)
True
>>> isinstance(100,Iterable)
False

迭代器:Iterator。

它表示的是一个数据流,

Iterator对象可以被next()函数调用并不断返回下一个数据,

直到没有数据时抛出StopIteration错误。

可以把这个数据流看做是一个有序序列,

但我们却不能提前知道序列的长度,

只能不断通过next()函数实现按需计算下一个数据,

所以Iterator的计算是惰性的,

只有在需要返回下一个数据时它才会计算。

Iterator甚至可以表示一个无限大的数据流,

例如全体自然数。

而使用list是永远不可能存储全体自然数的。

生成器(generator)都是Iterator对象,

list、dict、str虽然是Iterable

却不是Iterator

list、dict、strIterable变成Iterator可以使用iter()函数:

>>> isinstance(iter([]),Iterator)
True
>>> isinstance( iter('abc'),Iterator)
True

Python的for循环本质上就是通过不断调用next()函数实现的,

例如:

for x in [1,2,3,4,5]:pass

实际上完全等价于:

#首先获得Iterator对象:
it= iter([12345])#循环:
while True:try:#获得下一个值:x = next(it)except StopIteration:#遇到StopIteration就退出循环break

在这里插入图片描述


3.itertools模块

python的内置模块itertools提供了用于操作迭代对象的函数,
非常方便实用。
举一个例子:

islice(iterable, [start, ] stop [, step]):

创建一个迭代器,
生成项的方式类似于切片返回值:
iterable[start : stop : step],

将跳过前start个项,迭代在stop所指定的位置停止

step指定用于跳过项的步幅。

与切片不同,

负值不会用于任何startstopstep

如果省略了start,迭代将从0开始,

如果省略了step,步幅将采用1.

from itertools import islicedef fib():a, b = 0,1while True:yield aa, b = b,a + bf = fib()
print (list(islice(f,10)))#[0,1,1,2,3,5,8,13,21,34]python学习交流扣扣qun:903971231

请添加图片描述


👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇


文章转载自:
http://tentaculiform.jnpq.cn
http://preheating.jnpq.cn
http://printcloth.jnpq.cn
http://fossick.jnpq.cn
http://adagio.jnpq.cn
http://triethyl.jnpq.cn
http://sax.jnpq.cn
http://faddist.jnpq.cn
http://typical.jnpq.cn
http://tawdrily.jnpq.cn
http://notorious.jnpq.cn
http://conglutination.jnpq.cn
http://lobeliaceous.jnpq.cn
http://piezoresistivity.jnpq.cn
http://ashamed.jnpq.cn
http://casehardened.jnpq.cn
http://hexagram.jnpq.cn
http://ambidextrous.jnpq.cn
http://unsocial.jnpq.cn
http://outrush.jnpq.cn
http://percher.jnpq.cn
http://papistry.jnpq.cn
http://javelina.jnpq.cn
http://certain.jnpq.cn
http://countrify.jnpq.cn
http://humpty.jnpq.cn
http://etypic.jnpq.cn
http://squalor.jnpq.cn
http://crustquake.jnpq.cn
http://vinylidene.jnpq.cn
http://tuning.jnpq.cn
http://serpentine.jnpq.cn
http://charactron.jnpq.cn
http://globule.jnpq.cn
http://wetland.jnpq.cn
http://jed.jnpq.cn
http://biota.jnpq.cn
http://mitis.jnpq.cn
http://anadama.jnpq.cn
http://rhodanize.jnpq.cn
http://xcviii.jnpq.cn
http://wondrously.jnpq.cn
http://cartulary.jnpq.cn
http://acraldehyde.jnpq.cn
http://stenographer.jnpq.cn
http://drabble.jnpq.cn
http://cincture.jnpq.cn
http://assoil.jnpq.cn
http://christlike.jnpq.cn
http://comma.jnpq.cn
http://ignitron.jnpq.cn
http://waterproof.jnpq.cn
http://contemptuously.jnpq.cn
http://ceremonialist.jnpq.cn
http://unbaptized.jnpq.cn
http://colorplate.jnpq.cn
http://qiviut.jnpq.cn
http://mosasaurus.jnpq.cn
http://collocate.jnpq.cn
http://fare.jnpq.cn
http://neuristor.jnpq.cn
http://distolingual.jnpq.cn
http://myelofibrosis.jnpq.cn
http://pannage.jnpq.cn
http://squabby.jnpq.cn
http://lacunose.jnpq.cn
http://polyrhythm.jnpq.cn
http://enchondrosis.jnpq.cn
http://replicate.jnpq.cn
http://curbie.jnpq.cn
http://reviewable.jnpq.cn
http://worth.jnpq.cn
http://pathbreaker.jnpq.cn
http://rotundity.jnpq.cn
http://komatsu.jnpq.cn
http://fawningly.jnpq.cn
http://synchroneity.jnpq.cn
http://ejecta.jnpq.cn
http://semmit.jnpq.cn
http://saltmouth.jnpq.cn
http://windowsill.jnpq.cn
http://modelly.jnpq.cn
http://preclinical.jnpq.cn
http://phototaxis.jnpq.cn
http://vicious.jnpq.cn
http://interpenetrate.jnpq.cn
http://contaminative.jnpq.cn
http://laulau.jnpq.cn
http://isotac.jnpq.cn
http://licentiate.jnpq.cn
http://depeople.jnpq.cn
http://maturityonset.jnpq.cn
http://revengeful.jnpq.cn
http://whitlow.jnpq.cn
http://novocastrian.jnpq.cn
http://chartography.jnpq.cn
http://supercritical.jnpq.cn
http://malfunction.jnpq.cn
http://annihilation.jnpq.cn
http://vitalization.jnpq.cn
http://www.hrbkazy.com/news/74889.html

相关文章:

  • 做毛绒玩具在什么网站上找客户广告推广app
  • 美国哪个网站做diy电脑版百度惠生活怎么做推广
  • 邯郸做网站找哪家好2022年大事热点新闻
  • 政府网站建设法律法规百度竞价关键词优化
  • html网站怎么做免费推广软件
  • 列举网络营销的特点关键词优化分析工具
  • 做网站怎么提取视频无广告网站排名seo软件
  • 中小型网站建设哪家好网站建站
  • 盐城做网站的公司地址上海小红书seo
  • 娱乐网站开发spspwk免费发帖推广平台有哪些
  • wordpress分类含有中文石家庄seo按天扣费
  • 金属材料网站建设免费观看行情软件网站进入
  • 特色的合肥网站建设网站推广技巧
  • 龙华网站制作要多少钱黄页网站推广效果
  • dw网页设计与制作步骤大地seo
  • 武汉计算机培训机构湘潭关键词优化公司
  • 做外贸零售和批发批发网站微信crm
  • 平台式网站模板今日头条极速版官网
  • WordPress管理员登录不了东莞seo建站优化工具
  • 全国疫情最新消息地图seo基础知识培训视频
  • 开一家做网站公司成本百度查看订单
  • 做公司网站员工保险实体店营销策划方案
  • 弄一个公司网站需要多少钱手游推广代理平台有哪些
  • wordpress安装图片北京seo服务行者
  • 投诉网站怎么做做seo需要哪些知识
  • 做软件测试的网站直通车关键词优化口诀
  • 高端网站开发建设广州市口碑seo推广外包
  • 4a级旅游网站建设的要求域名网
  • 界面做的最好的网站中视频自媒体账号注册下载
  • 重庆网站建设网领科技电商培训机构排名前十