问题描述
有没有一种有效的方法可以知道 Python 中的迭代器中有多少元素,一般而言,无需遍历每个元素并进行计数?
Is there an efficient way to know how many elements are in an iterator in Python, in general, without iterating through each and counting?
推荐答案
没有.这是不可能的.
例子:
import random def gen(n): for i in xrange(n): if random.randint(0, 1) == 0: yield i iterator = gen(10)
iterator 的长度在您遍历它之前是未知的.
Length of iterator is unknown until you iterate through it.