【问题标题】:What are the upsides of generators in python 3?python 3中的生成器有什么好处?
【发布时间】:2021-08-03 09:17:59
【问题描述】:

我知道您可以使用生成器/列表推导式作为过滤器。你可以用列表做很多事情,但你可以用生成器做什么? Python 只会在有用的情况下制作生成器之类的东西。

【问题讨论】:

    标签: python-3.x filter generator


    【解决方案1】:

    生成器的最大好处是它不需要为序列的每个元素保留内存,它根据需要生成每个项目。

    因此,生成器不需要定义大小。如果需要,它可以生成一个无限序列。

    【讨论】:

    • @12944qwerty 考虑 Fibonacci numbers 这是一个没有结尾的序列。您可以轻松编写一个生成器,按顺序创建每个斐波那契数,直到您决定停止。
    • 是的......我刚刚测试过这个,它让我感到惊讶。 python如何无延迟地存储生成器的项目?
    • @12944qwerty 它不存储它们,这就是重点。这是准时交货。
    • 嗯...有道理。转换一个巨大的生成器导致程序死机:/谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-27
    • 2013-02-16
    • 2011-07-16
    • 1970-01-01
    • 1970-01-01
    • 2011-04-12
    相关资源
    最近更新 更多