Python 生成器 非常有用。与返回列表的函数相比,它们具有优势。然而,你可以 len(list_returning_function())
。有去 len(generator_function())
的路吗?
更新:
len(list(generator_function()))
当然可以... ..。
我正在尝试使用我在一个新的发电机里创建的一个发电机。作为新发电机计算的一部分,它需要知道旧发电机的长度。然而,我希望将它们与生成器的相同属性保持在一起,特别是——不要在内存中维护整个列表,因为它可能是 非常长的。
更新2:
假设生成器 知道的目标长度甚至从第一步。另外,没有理由维护 len()
语法。例如,如果 Python 中的函数是对象,我是否可以将长度赋给这个对象的一个变量,这个变量可以被新的生成器访问?