On 2/5/2011 2:46 PM, Alex Hall wrote:
Hi all, I have a class which has a list as an attribute, meaning you must say something like: for result in obj.results: ... I want to make life a bit easier and let users just say: for result in obj: ... Here is what I have tried to make my class into an iterable one, yet I get an error saying that the class does not support indexing:def __iter__(self): #makes this class indexable instead of having to use its "results" list return self.iterate() def iterate(self): i=0 while i<len(self.results): yield self.results[i] i+=1
Have you considered subclassing list? That would solve many problems. -- Bob Gailer 919-636-4239 Chapel Hill NC _______________________________________________ Tutor maillist - [email protected] To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor
