美文网首页
02迭代器和生成器

02迭代器和生成器

作者: 雪梦_93d4 | 来源:发表于2020-07-10 17:19 被阅读0次

    可迭代的对象(Iterable):可以作用域For循环

    生成器(generator):本质是一个函数,定义了可以使用next(),函数输出值,调用生成器输出生成器对象,生成器一定是可以迭代的

    eg:  g = (x * x for xi in range(10))  // g为一个生成器对象

            print(next(g))

    迭代器(Iterator):是一种支持next()操作的对象,凡是可作用于next()函数的对象都是Iterator类型,它们表示一个惰性计算的序列;

    from collections.abc import Iterator

    it = iter([1,2,3,4,5])# 循环:

    while True:

    try:

    # 获得下一个值:

    x = next(it)

    except    StopIteration:

    # 遇到StopIteration就退出循环

    break

    (3)区别:

    ①生成器是生成元素的,迭代器是访问集合元素的一中方式

    ②迭代输出生成器的内容

    ③迭代器是一种支持next()操作的对象

    ④迭代器(iterator):其中iterator对象表示的是一个数据流,可以把它看做一个有序序列,但我们不能提前知道序列的长度,只有通过next()函数实现需要计算的下一个数据。可以看做生成器的一个子集。

    相关文章

      网友评论

          本文标题:02迭代器和生成器

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