如何len(generator())

14 浏览
0 Comments

如何len(generator())

Python生成器非常有用。它们比返回列表的函数有优势。然而,你可以通过len(list_returning_function())获得长度。是否有一种方法可以通过len(generator_function())获得长度?

更新:

当然可以使用len(list(generator_function()))来获得长度.....

我正在尝试在创建的新生成器中使用我创建的生成器。在新生成器的计算过程中,它需要知道旧生成器的长度。然而,我希望将它们保持为具有相同属性的生成器,特别是不将整个列表保留在内存中,因为它可能非常长。

更新2:

假设生成器从第一步开始就知道其目标长度。此外,没有必要保持len()语法。例如,如果Python中的函数是对象,我是否可以将长度分配给该对象的一个变量,以便新生成器可以访问它?

0