美文网首页
迭代器、生成器、容器

迭代器、生成器、容器

作者: 姜葱汁 | 来源:发表于2018-04-03 15:42 被阅读0次

1.容器:

容器是一种把多个元素组织在一起的数据结构。

容器比较容易理解,因为你就可以把它看作是一个盒子、一栋房子、一个柜子,里面可以塞任何东西。

从技术角度来说,当它可以用来询问某个元素是否包含在其中时,那么这个对象就可以认为是一个容器,比如 list,set,tuples都是容器对象

尽管绝大多数容器都提供了某种方式来获取其中的每一个元素,但这并不是容器本身提供的能力,而是可迭代对象赋予了容器这种能力,当然并不是所有的容器都是可迭代的,比如:Bloom filter

2.可迭代对象(iterable):

可迭代对象和容器一样是一种通俗的叫法,并不是指某种具体的数据类型,list是可迭代对象,dict是可迭代对象,set也是可迭代对象。

3.迭代器(iterator):

那么什么是迭代器呢?

它是一个带状态的对象,他能在你调用 next()方法的时候返回容器中的下一个值,任何实现了 __next__()(python2中实现 next())方法的对象都是迭代器。

迭代器就像一个懒加载的工厂,等到有人需要的时候才给它生成值返回,没调用的时候就处于休眠状态等待下一次调用。

4. 生成器(generator):

生成器其实是一种特殊的迭代器,不过这种迭代器更加优雅。它不需要写 __iter__()和 __next__()方法了,只需要一个 yiled关键字。

生成器一定是迭代器(反之不成立)。

5.生成器表达式(generator expression):

生成器表达式是列表推倒式的生成器版本,看起来像列表推导式,但是它返回的是一个生成器对象而不是列表对象。

6.关系汇总:

(以上均摘自Python之禅)

相关文章

  • python 零基础需要学那些?

    容器 Python容器简介 Python 容器API Python 生成器generator Python迭代器 ...

  • python最重要的迭代生成器,你懂的

    python 迭代器和生成器 迭代器 对于list、string、tuple、dict等这些容器对象,使用for循...

  • 迭代器

    迭代器-生成器 Iterator-Generator 1 迭代器 容器对象 -》数据结构:Array,链表,哈希表...

  • 迭代器与生成器(cookbook笔记)

    迭代器与生成器 手动遍历迭代器 不使用for循环手动遍历迭代器 代理迭代 在一个新的容器(class)中迭代对象 ...

  • 第013篇:三大神器之迭代器

    Python的三大神器:装饰器、迭代器、生成器 1、什么是迭代器(iter) 迭代器也是python提供的容器型数...

  • Python语言基础之——迭代器生成器和模块

    1.迭代器 1.什么是迭代器(iter) 迭代器是容器型数据类型,只能通过类型转换和生成器来获得迭代器对象迭代器存...

  • python语法入门六

    属性访问 描述符 迭代器 生成器 模块导入 包 查询功能 属性访问 描述符 定制容器 迭代器 生成器 模块导入 f...

  • python-11-函数之生成器和生成式

    一、生成式与生成器可以把迭代器看成一种容器,类似列表。生成器就是来生成迭代器。 二、生成器 1.yield关键字只...

  • python进阶

    一、容器、迭代器、生成器 http://python.jobbole.com/87805/ 容器 一种把多个元素组...

  • 2019-03-20

    1 迭代器和生成器 迭代器 获取数据:next (迭代器)、for 循环遍历 ,数据来源:转换、生成器 生成器:...

网友评论

      本文标题:迭代器、生成器、容器

      本文链接:https://www.haomeiwen.com/subject/ejfchftx.html