[Python-Dev] iter.index() (original) (raw)

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