[Baypiggies] len(iterable)

Tung Wai Yip tungwaiyip at yahoo.com
Wed Aug 6 22:11:38 CEST 2008


I can think of 2 ways,

>>> it = xrange(10)
>>> len(list(it))
10

>>> it = xrange(10)
>>> sum(1 for i in it)
10

Wai Yip


> I have an iterable, and I want to find out how long it is.  I don't
> care if it consumes the iterable.  Furthermore, I know the iterable is
> not infinite.  Consider:
>
>>>> len((i for i in xrange(10)))
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> TypeError: object of type 'generator' has no len()
>
> It makes sense that len() not be defined, but I can't seem to find a
> simple count function.  Of course, I can write one, but it seems like
> it should exist in itertools or something.  (By the way, the count
> function in itertools is something completely different.)
>
> Thanks,
> -jj
>




More information about the Baypiggies mailing list