New submission from Greg Solomon: https://docs.python.org/3/library/itertools.html#itertools.groupby
I found the "equivalent" code a bit hard to read. Is there any merit in changing it to something a bit like the following ? Kind Rgds, Greg class groupby: def __init__( self , iterable , key_function = ( lambda x: x ) ): self.iterable = iter( iterable ) self.key_function = key_function self.FINISHED = object() try: self.next_value = next( self.iterable ) except StopIteration: self.next_value = self.FINISHED def __iter__( self ): return self def __next__( self ): if self.next_value == self.FINISHED: raise StopIteration self.group_key_value = self.key_function( self.next_value ) return ( self.group_key_value , self._group() ) def _group( self ): while self.next_value != self.FINISHED \ and self.group_key_value == self.key_function( self.next_value ): yield self.next_value try: self.next_value = next( self.iterable ) except StopIteration: self.next_value = self.FINISHED return ---------- assignee: docs@python components: Documentation messages: 282943 nosy: docs@python, greg.solomon priority: normal severity: normal status: open title: Groupby Is Roughly Equivalent To ... versions: Python 3.7 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue28939> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com