[Python-Dev] iter.index()
Bob Ippolito
bob at redivi.com
Sun Apr 18 22:08:25 EDT 2004
On Apr 18, 2004, at 9:53 PM, Christian Stork wrote:
> Hi,
>
> I wanted to do something like
>
> i = itertools.chain(list1, list2).index(elem)
>
> but that gave me
>
> ...
> AttributeError: 'itertools.chain' object has no attribute 'index'
>
> If I use the operator module it works just fine.
>
> i = operator.indexOf(itertools.chain(list1, list2), elem)
>
> Why not add the index method to iterator objects? Of course,
> internally
> only next() is used by the default implementation.
An iterator mutates each time you call its next(). Your call to
indexOf does one of three things: exhaust some of your iterator and
return a useless integer, exhaust all of your iterator and raise an
exception, or never return.
If you want an object that acts like a list, you should use a list.
-bob
More information about the Python-Dev
mailing list