On 12/17/2012 09:33 AM, Skip Montanaro wrote: > What method(s) does a class have to support to properly emulate a container > which supports turning it into a list? For example: > > class Foo: > pass > > f = Foo() > print list(f) > > Is it just __iter__() and next()? (I'm still using 2.4 and 2.7.)
I believe the container class needs to define the __iter__() method, which has to return an iterator object. That (possibly different) iterator class needs both an __iter__() method and a next() method. If the container class is also the iterator class, which is common, then you just need one __iter__() method, which returns self. -- DaveA -- http://mail.python.org/mailman/listinfo/python-list