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

免费源码交易网站源码网站服务器租用平台

免费源码交易网站源码,网站服务器租用平台,旅游网站开发说明,wordpress 股票插件Python迭代器和生成器介绍迭代器迭代器是一个实现了迭代器协议的对象#xff0c;Python中的迭代器协议就是有next方法的对象会前进到下一结果#xff0c;而在一系列结果的末尾是#xff0c;则会引发StopIteration。在for循环中#xff0c;Python将自动调用工厂函数iter()获…Python迭代器和生成器介绍迭代器迭代器是一个实现了迭代器协议的对象Python中的迭代器协议就是有next方法的对象会前进到下一结果而在一系列结果的末尾是则会引发StopIteration。在for循环中Python将自动调用工厂函数iter()获得迭代器自动调用next()获取元素还完成了检查StopIteration异常的工作。常用的几个内建数据结构tuple、list、set、dict都支持迭代器字符串也可以使用迭代操作。你也可以自己实现一个迭代器如上所述只需要在类的__iter__方法中返回一个对象这个对象拥有一个next()方法这个方法能在恰当的时候抛出StopIteration异常即可。但是需要自己实现迭代器的时候不多即使需要使用生成器会更轻松。[python] view plaincopy#!/usr/bin/env python# codingutf-8class test:def __init__(self, input_list):self.list input_listself.i 0def __iter__(self):return selfdef next(self):if self.i len(self.list):self.i 0raise StopIterationself.i 1return self.list[self.i - 1]电脑技术网对《python批量处理图片图片Python迭代器和生成器介绍》总结来说为我们学习编程很实用。使用迭代器一个显而易见的好处就是每次只从对象中读取一条数据不会造成内存的过大开销。例如[python] view plaincopy/* 把文件一次加载到内存中然后逐行打印。当文件很大时这个方法的内存开销就很大了 */for line in open(test.txt).readlines():print line/* 这是最简单也是运行速度最快的写法他并没显式的读取文件而是利用迭代器每次读取下一行 */for line in open(test.txt): #use file iteratorsprint line生成器生成器的编写方法和函数定义类似只是在return的地方改为yield。生成器中可以有多个yield。当生成器遇到一个yield时会暂停运行生成器返回yield后面的值。当再次调用生成器的时候会从刚才暂停的地方继续运行直到下一个yield。生成器自身又构成一个迭代器每次迭代时使用一个yield返回的值。需要注意的是生成器中不需要return语句不需要指定返回值在生成器中已经存在默认的返回语句生成器表达式[python] view plaincopy(i for i in range(5))// 返回迭代器at 0x7ff3e8f0d960列表解析返回list[python] view plaincopy[i for i in range(5)]// 返回list[0, 1, 2, 3, 4]在这里存在一个问题那就是range(5)会返回一个长度为5的数据如果是range(1000)那么就会占用一个1000大小的数组空间如果我们采用生成器在需要的时候产生一个数字那么空间的占用情况就会降低这里我们可以使用xrange()函数来实现。[python] view plaincopyxrange函数说明用法与range完全相同所不同的是生成的不是一个数组而是一个生成器。xrange示例: xrange(5)xrange(5) list(xrange(5))[0, 1, 2, 3, 4] xrange(1,5)xrange(1, 5) list(xrange(1,5))[1, 2, 3, 4] xrange(0,6,2)xrange(0, 6, 2) list(xrange(0,6,2))[0, 2, 4]所以xrange做循环的性能比range好尤其是返回很大的时候尽量用xrange吧除非你是要返回一个列表。
http://wiki.neutronadmin.com/news/193188/

相关文章:

  • iss服务器网站建设网站做图尺寸
  • 默认网站 域名 网站绑定海南的网站建设公司哪家好
  • 电商网站英文酒泉网站建设价格
  • 那里建设网站好网站建设行业资讯
  • 什么网站可以做excel表格wordpress关闭主题更新
  • c 创建一个网站怎么做广州定制app开发
  • 网站开发完整的解决方案学校网站建设推进会
  • 瑶海区网站建设关于网站建设维护的创业计划书
  • 兰州网站搜索优化小程序码
  • 淘宝联盟 网站备案网络推广有几种方式
  • 重庆设计公司网站校园网站建设报价
  • 个人网站开发如何赚钱吗织梦电影网站模板
  • 合肥做网站大概多少钱软件工程项目开发的步骤
  • 温州网站建设seo企业logo怎么设计
  • 一般上什么网站网站建设中的定位设想
  • 宁波企业网站制作公司茶企业网站建设模板
  • 我想做网站服务器选用什么临沂市建设局网站勘察设计
  • 沈阳做网站的公司排行备案空壳网站通知
  • 山西自助建站系统怎么用宜兴做阿里巴巴网站
  • 济南网站建设在哪里wordpress无法设置主页
  • 建设工程网站什么时候可以同步兰州网络推广服务合同
  • 湖州建设培训入口网站flash做网站的流程
  • 四川纵川建设机械有限公司网站wordpress如何添加首页
  • 网站建设的小故事上海公司注销流程步骤
  • 网站开发培训怎么样陕西省安康市建行 网站
  • php 开源cms 企业网站电子商务网站建设实训内容
  • 怎样建设一个好的企业网站有赞微商城登陆
  • c#网站开发+pdf深圳市龙华区教育局官网
  • 郑州知名网站推广做网站需要买域名
  • 网站建设修改大型社区网站开发文档