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

合肥建设学校网站商业网站建设方案

合肥建设学校网站,商业网站建设方案,欧米茄表价格官网报价,图书馆 网站建设人生苦短#xff0c;我用python python 安装包资料:点击此处跳转文末名片获取 1.实现generator的两种方式 python中的generator保存的是算法#xff0c; 真正需要计算出值的时候才会去往下计算出值。 它是一种惰性计算#xff08;lazy evaluation#xff09;。 要创建一个…人生苦短我用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而是生成一个generatorg 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 Iterableisinstance([],Iterable) Trueisinstance({},Iterable) Trueisinstance(abc, Iterable) Trueisinstance((x for x in range(10)),Iterable) Trueisinstance(100,Iterable) False迭代器Iterator。 它表示的是一个数据流 Iterator对象可以被next()函数调用并不断返回下一个数据 直到没有数据时抛出StopIteration错误。 可以把这个数据流看做是一个有序序列 但我们却不能提前知道序列的长度 只能不断通过next()函数实现按需计算下一个数据 所以Iterator的计算是惰性的 只有在需要返回下一个数据时它才会计算。 Iterator甚至可以表示一个无限大的数据流 例如全体自然数。 而使用list是永远不可能存储全体自然数的。 生成器generator都是Iterator对象 但list、dict、str虽然是Iterable 却不是Iterator。 把list、dict、str等Iterable变成Iterator可以使用iter()函数 isinstance(iter([]),Iterator) Trueisinstance( iter(abc),Iterator) TruePython的for循环本质上就是通过不断调用next()函数实现的 例如 for x in [1,2,3,4,5]:pass实际上完全等价于 #首先获得Iterator对象: it iter([12345])#循环: while True:try:#获得下一个值:x next(it)except StopIteration:#遇到StopIteration就退出循环break3.itertools模块 python的内置模块itertools提供了用于操作迭代对象的函数 非常方便实用。 举一个例子 islice(iterable, [start, ] stop [, step]): 创建一个迭代器 生成项的方式类似于切片返回值 iterable[start : stop : step] 将跳过前start个项迭代在stop所指定的位置停止 step指定用于跳过项的步幅。 与切片不同 负值不会用于任何startstop和step 如果省略了start迭代将从0开始 如果省略了step步幅将采用1. from itertools import islicedef fib():a, b 0,1while True:yield aa, b b,a bf fib() print (list(islice(f10)))#[0,1,1,2,3,5,8,1321,34]python学习交流扣扣qun903971231问题解答 · 源码获取 · 技术交流 · 抱团学习请联系
http://www.w-s-a.com/news/490832/

相关文章:

  • 手机网站制作报价表做网站公司做网站公司
  • 湖州网站设计吉林网站建设哪家好
  • 做存储各种环境信息的网站使用tag的网站
  • 阿里云用ip做网站网站开发员属于
  • 外链网盘下载南宁seo推广优化
  • 网站的推广方案有哪些此网站可能有
  • wordpress更改链接后网站打不开一键生成个人网站
  • 网站建设后台有哪些东西前端开发培训一般多少钱
  • 高端建设网站公司网站开发 源码
  • 企业网站的劣势园林景观设计公司简介范文
  • 网站建设程序招聘东营建设信息网登录
  • o2o是什么意思通俗讲seo与网站优化 pdf
  • 外贸网站外包一般建设一个网站多少钱
  • 抄袭别人网站的前端代码合法吗网络促销策略
  • 用wordpress制作网站做资源网站
  • wordpress 发布网站南宁网站建设网站
  • 职业生涯规划大赛心得贵阳哪家网站做优化排名最好
  • wordpress 图片懒加载北京网站优化和推广
  • 深圳网站建设工作一个dede管理两个网站
  • 被禁止访问网站怎么办中国建筑网官网查询系统
  • 网站管理运营建设网贷网站
  • 深圳市龙岗区住房和建设局网站怎么给网站做404界面
  • 设计类网站网站系统 建设和软件岗位职责
  • 网站后台打开慢站长之家网址ip查询
  • 图书馆网站设计方案家具设计作品
  • 马鞍山做网站公司排名徐州网站外包
  • 十堰微网站建设电话宣传型网站建设
  • 电脑制作网站教程网络公司除了建网站
  • 360制作网站搜网站网
  • 门户网站标题居中加大网站底部的制作