[New-bugs-announce] [issue28939] Groupby Is Roughly Equivalent To ...
Greg Solomon
report at bugs.python.org
Sun Dec 11 15:16:23 EST 2016
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 at python
components: Documentation
messages: 282943
nosy: docs at python, greg.solomon
priority: normal
severity: normal
status: open
title: Groupby Is Roughly Equivalent To ...
versions: Python 3.7
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue28939>
_______________________________________
More information about the New-bugs-announce
mailing list