[Python-ideas] A general purpose range iterator (Re: improvements to slicing)
Nick Coghlan
ncoghlan at gmail.com
Wed Oct 6 22:41:21 CEST 2010
More information about the Python-ideas mailing list
Wed Oct 6 22:41:21 CEST 2010
- Previous message: [Python-ideas] A general purpose range iterator (Re: improvements to slicing)
- Next message: [Python-ideas] [Python-Dev] minmax() function returning (minimum, maximum) tuple of a sequence
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thu, Oct 7, 2010 at 5:21 AM, Ron Adam <rrr at ronadam.com> wrote: > I think these are easier to use than the current behavior. It doesn't > change slices using positive indexes and steps so maybe it's not so backward > incompatible to sneak in. ;-) I think that sound you just heard was thousands of SciPy users crying out in horror ;) Given a "do over", there a few things I would change about Python's range generation and extended slicing. Others would clearly change a few different things. Given the dual barriers of "rough consensus and running code", I don't think there are any *specific* changes that would make it through the gauntlet. The idea of a *generalised* range generator is in interesting one though. One that was simply: _d = object() def irange(start=_d, stop=_d, step=1, *, include_start=True, include_stop=False): # Match signature of range while still allowing stop=val as the only keyword argument if stop is _d: start, stop = 0, start elif start is _d: start = 0 if include_start: yield start current = start while 1: current += step if current >= stop: break yield current if include_stop and current == stop: yield stop Slower than builtin range() for the integer case, but works with arbitrary types (e.g. float, Decimal, datetime) Cheers, Nick. -- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
- Previous message: [Python-ideas] A general purpose range iterator (Re: improvements to slicing)
- Next message: [Python-ideas] [Python-Dev] minmax() function returning (minimum, maximum) tuple of a sequence
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-ideas mailing list