[Python-ideas] [Python-Dev] minmax() function returning (minimum, maximum) tuple of a sequence
taleinat at gmail.com
Tue Oct 12 21:41:00 CEST 2010
Paul Moore wrote:
> On 11 October 2010 21:18, Tal Einat <taleinat at gmail.com> wrote:
>> We recently needed exactly this -- to do several running calculations
>> in parallel on an iterable. We avoided using co-routines and just
>> created a RunningCalc class with a simple interface, and implemented
>> various running calculations as sub-classes, e.g. min, max, average,
>> variance, n-largest. This isn't very fast, but since generating the
>> iterated values is computationally heavy, this is fast enough for our
>> Having a standard method to do this in Python, with implementations
>> for common calculations in the stdlib, would have been nice.
>> I wouldn't mind trying to work up a PEP for this, if there is support
>> for the idea.
> The "consumer" interface as described in
> http://effbot.org/zone/consumer.htm sounds about right for this:
> class Rmin(object):
> def __init__(self):
> self.running_min = None
> def feed(self, val):
> if self.running_min is None:
> self.running_min = val
> self.running_min = min(self.running_min, val)
> def close(self):
> rmin = Rmin()
> for val in iter:
> print rmin.running_min
That's what I was thinking about too.
How about something along these lines?
I just worked that up now and would like some comments and
suggestions. It could either turn into a PEP or an external library,
depending on popularity here.
- Tal Einat
More information about the Python-ideas