What makes an iterator an iterator?
steve at REMOVEME.cybersource.com.au
Wed Apr 18 10:32:15 CEST 2007
On Wed, 18 Apr 2007 06:13:39 +0000, I V wrote:
> On Wed, 18 Apr 2007 15:39:22 +1000, Steven D'Aprano wrote:
>> I thought that an iterator was any object that follows the iterator
>> protocol, that is, it has a next() method and an __iter__() method.
> i.e., just rename your _next function to __iter__ . Your class won't
> itself be an iterator, but it will be usable in for statements and so one,
> and convertable to an iterator with the iter builtin.
Thanks to all those who helped, this fixed my problem.
For the record, this is what I actually wanted: a four-line self-sorting
for key in sorted(self.keys()):
Note that using sorted(self) does not work.
Iterating over a SortedDictionary returns the keys in sorted order. This
minimalist implementation doesn't sort the values, items or string
representation of the dict, but they should be easy to implement.
More information about the Python-list