On 11/2/2016 6:03 PM, Francisco Couzo wrote: > Some functions that take a predicate from itertools accept None as its > predicate: > >>>> list(itertools.filterfalse(None, range(10))) > [0] >>>> list(itertools.groupby([0,0,1,1], None)) > [(0, <itertools._grouper object at 0x7fedc2047198>), (1, > <itertools._grouper object at 0x7fedc2 > 0471d0>)] > > While others don't: > >>>> list(itertools.dropwhile(None, range(10))) > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > TypeError: 'NoneType' object is not callable > > I'd be interested in writing a patch to make itertools more consistent > if there's a consensus. > > I see two possible solutions: > > * Either remove None as a predicate parameter, which would not be > backwards compatible. > * Or make the functions that don't accept None start accepting it. I think you should post this as an enhancement proposal on the tracker. Put Raymond Hettinger, the itertools originator and maintainer, as nosy. -- Terry Jan Reedy
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4