Problem with the sort() function
Steven Bethard
steven.bethard at gmail.com
Tue Feb 22 14:35:51 EST 2005
Fuzzyman wrote:
> Iterators are available in python 2.2
> class enumerate:
> def __init__(self, inlist):
> self.inlist = inlist
> self.index = 0
>
> def next(self):
> if self.index >= len(self.inlist): raise StopIteration
> thisone = self.inlist[self.index]
> self.index += 1
> return self.index-1, thisone
>
> def __iter__(self):
> return self
A simpler version that works with any iterable (not just sequences):
py> class enumerate(object):
... def __init__(self, iterable):
... self._next = iter(iterable).next
... self._index = -1
... def __iter__(self):
... return self
... def next(self):
... self._index += 1
... return self._index, self._next()
...
py> enumerate('abcde')
<__main__.enumerate object at 0x011627F0>
py> list(enumerate('abcde'))
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e')]
STeVe
More information about the Python-list
mailing list