可以使用for x in 数据 的那么 这个数据就是可迭代对象.

通过计算生成下一个值的数据就是生成器

可以使用next(数据) 来计算出下一个值的数据就是迭代器(生成器属于迭代器)

--------------------------------------------------------------

先说迭代:

  在Python中,迭代是通过for ... in来完成的,能实现for  ....in的数据就是可迭代对象

使用isinstance 来判断他属不属于可迭代对象Iterable,所以以上都可以使用for 循环来进行迭代.(整数就不可迭代对象哦)

collections(集合),可以说只有集合才判断是不是可以迭代.

列表生成式:快速创建列表,就是把几行的代码浓缩成一行.比如:输出1-10中的偶数:  [ x for x in range(1,11) if x % 2 == 0]

几个例子,自己体会一下

以上就是列表生成式,他的生成都是由规律的.如果数据量很大,那么他占用的内存就很多.所有人有就想到了,生成器,我需要一个,你给我计算然后生成一个,我需要下一个,你再给我生成下一个.这样就不会浪费资源了.

创建生成器的方法:

  1.将列表生成式的[],改成(),那么就是一个生成器.shen

2,就是通过修改函数,来创建生成器.只要函数中有 yield 就是生成器

不是普通函数,而是generator,在执行过程中,遇到yield就中断,

.今天就到这.今天锻炼的有点猛了

Python3.5-20190507-廖老师-自我笔记-迭代的更多相关文章

  1. Python3.5-20190518-廖老师-自我笔记-面向对象

    面向对象编程,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 把老师分为一类,把学生分为一类.具体到某一个学生就是  这类中的一个具体对象,对象的 ...

  2. Python3.5-20190508-廖老师-自我笔记-迭代器

    可以实现for ...in 的都可以称为,可迭代对象,Iterable 可以使用isinstance(是什么实例嘛)来判断是不是可迭代对象 可以被next()函数调用并不断返回下一个值的对象称为迭代器 ...

  3. Python3.5-20190526-廖老师-自我笔记-单元测试-参数换-paramunittest

    参数化: import timeimport list1 #想测试list1中的求和函数是否正确fun1import paramunittestimport unittest #先设置参数组@para ...

  4. Python3.5-20190521-廖老师-自我笔记-单元测试

    执行结果

  5. Python3.5-20190519-廖老师-自我笔记-面向对象中slots变量--@property的使用

    python是动态语言,可以随时随地给实例对象添加属性和方法,但是我们想限制属性的名字,可以使用__slots__特殊变量来限制 使用__slots__要注意,__slots__定义的属性仅对当前类实 ...

  6. Python3.5-20190503-廖老师-自我笔记

    列表和元组 list1 = [1,4,6,788,345,757]            tuple1 =      (345,234,567,878)         切记你的变量名不能和  hel ...

  7. Python3.5-20190502-廖老师-自我笔记

    python的语法主要就是严格的缩进.一般缩进都是四个空格.以冒号结尾的(:)就意味着他后面有代码块.(js代码块使用{}抱起来的,我记得c语言也是,但是python就不需要,他只要严格缩进的就可以了 ...

  8. Python3.5-20190519-廖老师-自我笔记-获取对象信息

    总是优先使用isinstance()判断类型,可以将指定类型及其子类“一网打尽”. 如果要获得一个对象的所有属性和方法,可以使用dir()函数,它返回一个包含字符串的list,比如,获得一个str对象 ...

  9. Python3.5-20190518-廖老师-自我笔记-模块

    在Python中,一个.py文件就称之为一个模块(Module) 可以作为module的文件类型有".py".".pyo".".pyc".& ...

随机推荐

  1. boost number handling

    Boost.Integer defines specialized for integers. 1. types for integers with number of bits #include & ...

  2. Java并发与多线程与锁优化

    前言 目前CPU的运算速度已经达到了百亿次每秒,所以为了提高生产率和高效地完成任务,基本上都采用多线程和并发的运作方式. 并发(Concurrency):是指在某个时间段内,多任务交替处理的能力.CP ...

  3. 使用PowerShell下载必应图片

    今天想聊聊POWERSHELL对于WEB页面的一些应用,本人也是最近才发觉其实PS也是可以做爬虫的...所以想抛砖引玉给大家一个思路. 这次要用到的主要命令是 invoke-webrequest 先来 ...

  4. 远程仓库(GitHub)的使用

    1.注册登录 在 GitHub 上注册登录 暂时忽略不讲 2.创建新的远程仓库 在GitHub网站上创建新的仓库.不管你是先在本地创建仓库还是先在远程创建仓库,要想把代码提交到远程仓库都是要先手动创建 ...

  5. JS中数据结构之栈

    1.栈的基本介绍 栈是一种高效的数据结构,因为数据只能在栈顶添加或删除,所以这样的操作很快,而且容易实现. 栈是一种特殊的列表,栈内的元素只能通过列表的一端访问,这一端称为栈顶.栈被称为一种后入先出( ...

  6. PCB底层打印到热转印纸上 Altium Designer

     切记:如果是TopLayer,应该勾选镜像打印(Mirror)  切记:底层Bottom Layer ,不勾选镜像

  7. php 统计每天价格,货币种类,汇总得算法和数据处理 (后端和前段实现自动统计价格和币种类型)

    整体实现逻辑介绍 1.对查询数据做一个总体查询,需要根据查询自己主要业务逻辑数据. 2.对总体查询数据和时间和币种类型做三部分数据处理. 3.总体查询数据按照币种和日期组装二维数据对应得键值是价格. ...

  8. qbxt Day3 on 2019-8-18

    qbxt Day3 on 2019-8-18 一.基础数论 1.进制转换 进制转换是一个非常简单且基础的问题. 也许我们只需要...Emmm... 列个式子就好了鸭 设\(k\)进制数每一位上是\(a ...

  9. 将windows下的文件上传到Linux服务器上

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/lx_Frolf/article/deta ...

  10. js-xlsx sheet_to_json 读取小数位数变多

    read as string . 例如:2.85 读取后变成 2.84999999999999999 这种. 以字符串形式读取. XLSX.utils.sheet_to_json(workbook.S ...