在 Python 中获取迭代器中的元素数量

2022-01-10 00:00:00 python iterator

问题描述

有没有一种有效的方法可以知道 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.

相关文章