diff options
Diffstat (limited to 'Doc')
-rw-r--r-- | Doc/library/itertools.rst | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst index c989e46..530c29d 100644 --- a/Doc/library/itertools.rst +++ b/Doc/library/itertools.rst @@ -401,13 +401,14 @@ loops that truncate the stream. def __iter__(self): return self def __next__(self): + self.id = object() while self.currkey == self.tgtkey: self.currvalue = next(self.it) # Exit on StopIteration self.currkey = self.keyfunc(self.currvalue) self.tgtkey = self.currkey - return (self.currkey, self._grouper(self.tgtkey)) - def _grouper(self, tgtkey): - while self.currkey == tgtkey: + return (self.currkey, self._grouper(self.tgtkey, self.id)) + def _grouper(self, tgtkey, id): + while self.id is id and self.currkey == tgtkey: yield self.currvalue try: self.currvalue = next(self.it) |