美文网首页
迭代对象、迭代器、生成器

迭代对象、迭代器、生成器

作者: LuDon | 来源:发表于2019-03-29 17:56 被阅读0次

容器(container)

容器是一种把多个元素组织在一起的数据机构,容器中的元素可以逐个地迭代获取。Python中常见的容器有:

  • list,deque
  • set,frozensets
  • dict, defaultdict
  • tuple, namedtuple
  • str

可迭代对象(iterable)

可以返回一个迭代器的对象可称为可迭代对象。

>>> x = [1, 2, 3]
>>> y = iter(x)
>>> z = iter(x)
>>> next(y)
1
>>> next(y)
2
>> next(z)
1

迭代器(iterator)

迭代器是一个带状态的对象,在调用next()方法的时候返回容器中的下一个值。每次调用next()时做两件事:
1、为下一次调用next()方法修改状态;
2、为当前这次调用生成返回结果。

生成器(generator)

生成器是Python中最吸引人的特性,生成器其实就是一种特殊的迭代器。

def fib():
    prev, curr = 0, 1
    while True:
        yield curr
        prev, curr = curr, curr + prev

>>> f = fib()
>>> list(islice(f, 0, 10))
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

相关文章

  • Python基础-16生成器-迭代器

    16.生成器-迭代器     可循环迭代的对象称为可迭代对象,迭代器和生成器函数是可迭代对象,在Python中提供...

  • yield and Iterator

    Generator(生成器) 生成器是特殊的迭代器,迭代器不一定是生成器。 生成器与迭代器均是可迭代对象。 目前学...

  • 迭代器

    可迭代对象(Iterable): for迭代器(Iterator): for + next生成器属于迭代器。 验...

  • Python可迭代对象,迭代器,生成器关系

    列表,元组,字符串,迭代器,生成器都是可迭代对象。所以,可迭代对象不一定是迭代器,生成器。 将一个可迭代对象传递给...

  • 可迭代对象、迭代器、生成器

    可迭代对象 --> 迭代器 --> 生成器; 可迭代对象:实现了__iter__()方法的对象,该方法返回迭代对象...

  • 理解迭代器/生成器

    完全理解Python 迭代对象、迭代器、生成器 迭代和生成操作总结 Python迭代器 http://www.ji...

  • 迭代器和生成器

    迭代器和生成器 迭代器 hasattr(list,'iter')True 判断列表是否为可迭代对象 lst = [...

  • 迭代机制

    可迭代对象、迭代器、生成器、生成式区别 a. 可迭代对象: 一个对象能够被迭代的使用,这个对象就是可迭代对象 b....

  • Python迭代器和生成器

    所有的生成器都是迭代器;从可迭代的对象中获取迭代器 一、序列可迭代的原因:iter函数 迭代对象x时,自动调用it...

  • 【2017-09-20】迭代器与生成器(一)

    迭代器(iterator)与生成器(generator) 迭代器迭代器:它是一个带状态的对象,调用next()方法...

网友评论

      本文标题:迭代对象、迭代器、生成器

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