在 Python 中获取迭代器中的元素数量
问题描述
有没有一种有效的方法可以知道 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.
相关文章