zoukankan      html  css  js  c++  java
  • 生成器和迭代器,列表推导式

    迭代器
    可迭代协议 : 某个变量中含有__iter__方法,这个变量可迭代
    迭代器协议 : 某个变量中含有__iter__和__next__方
    迭代器和可迭代的关系:
    迭代器一定可迭代反之不成立
    迭代器的特点 :
    节省内存
    惰性运算
    只能取一次
    只能按照顺序取
    for循环和迭代器之间的关系
    如果是非迭代器,for循环会帮助我们把这个飞迭代器编程迭代
    帮助我们执行next方法从迭代器中取值
    帮助我们处理异常停止迭代
    生成器
    生成器就是迭代器
    我们怎么获得生成器??
    生成器函数
    生成器表达式
    什么是生成器函数?
    含有yield方法
    生成器函数有什么特点?
    调用的时候不执行
    返回一个生成器/迭代器
    从生成器中取值的方式和迭代器一样
    生成器函数和其他函数[本质上]我们得到的结果是相同的
    只不过中间的过程不同
    普通函数 必须得到所有结果之后才返回
    生成器函数 可以一边计算结果一边返回
    当已经有了一个列表,从这个列表中的每一个元素都需要做某个操作
    并且需要将操作的结果放在一个新的列表中
    适合使用列表推导式
    新的列表 = [每一个元素要做的操作 for 列表中的每一个元素 in 列表]
  • 相关阅读:
    Mysql安装
    mysql 密码过期
    svn 合并分支
    idea 分支主干管理
    linux删除数据恢复,extundelete
    linux 转换文件编码
    sina 接口 根据ip获取各个国家和地区
    SQL中char、varchar、nvarchar的区别
    C#中virtual和abstract区别,举例子
    父类和子类的关系、代码例子
  • 原文地址:https://www.cnblogs.com/F18866/p/9958029.html
Copyright © 2011-2022 走看看