博客
关于我
Iterable与Iterator
阅读量:574 次
发布时间:2019-03-11

本文共 736 字,大约阅读时间需要 2 分钟。

可迭代对象也是称为序列对象,它能够逐个返回其成员项。常见的例子包括列表 list、字符串 str 和元组 tuple 等序列类型,还有部分非序列类型如字典 dict、文件对象以及自定义类如果具备 iter() 方法或实现了 Sequence 语义的 getitem() 方法。这些对象都能作为可迭代对象使用,它们可以用于 for 循环以及其他依赖序列的函数,如 zip() 和 map()。

迭代器是用来表示数据流的对象,它们支持通过 next() 方法逐个返回数据项。当所有数据项耗尽后,调用 next() 会引发 StopIteration 异常。迭代器必须有 iter() 方法,所以迭代器本身也是可迭代对象。

原文中提到的 address 和 img 标签已经移除。优化后的内容如下:

  • 可迭代对象(Iterable)是能够逐个返回其成员项的对象。

    • 这些对象包括所有序列类型(如 list、str 和 tuple)以及一部分非序列类型(如 dict、文件对象)。
    • 它们实现了 iter() 方法或通过 getitem() 传递 Sequence 语义。
    • 可迭代对象可以用于 for 循环和其他依赖序列的操作,如 zip 和 map。
    • 使用 iter() 函数获取迭代器时通常不需要手动处理迭代器对象,for 语句会自动处理。
  • 迭代器(Iterator)是表示数据流的对象。

    • 每次调用 next() 方法可以获取下一个数据项,直到耗尽所有数据项。
    • 无数据项时会抛出 StopIteration 异常。
    • 迭代器同时也是可迭代对象,可以用于大多数依赖序列的场合。
      -Word样,容器对象(如 list)在每次调用 iter() 或用于 for 循环时会生成新的迭代器实例。
  • 转载地址:http://sfivz.baihongyu.com/

    你可能感兴趣的文章
    MySQL 中文问题
    查看>>
    MySQL 中日志的面试题总结
    查看>>
    mysql 中的all,5分钟了解MySQL5.7中union all用法的黑科技
    查看>>
    MySQL 中的外键检查设置:SET FOREIGN_KEY_CHECKS = 1
    查看>>
    Mysql 中的日期时间字符串查询
    查看>>
    mysql 中索引的问题
    查看>>
    MySQL 中锁的面试题总结
    查看>>
    MySQL 中随机抽样:order by rand limit 的替代方案
    查看>>
    MySQL 为什么需要两阶段提交?
    查看>>
    mysql 为某个字段的值加前缀、去掉前缀
    查看>>
    mysql 主从
    查看>>
    mysql 主从 lock_mysql 主从同步权限mysql 行锁的实现
    查看>>
    mysql 主从互备份_mysql互为主从实战设置详解及自动化备份(Centos7.2)
    查看>>
    mysql 主从关系切换
    查看>>
    MYSQL 主从同步文档的大坑
    查看>>
    mysql 主键重复则覆盖_数据库主键不能重复
    查看>>
    Mysql 事务知识点与优化建议
    查看>>
    Mysql 优化 or
    查看>>
    mysql 优化器 key_mysql – 选择*和查询优化器
    查看>>
    MySQL 优化:Explain 执行计划详解
    查看>>