Carl Banks imbosol at vt.edu
Fri Sep 20 15:10:47 EDT 2002

Mark McEahern wrote:
> I know I can average a sequence like this:
>  def average(seq):
>    return reduce(operator.add(seq) / len(seq))
> Yes, I see that will raise ZeroDivisionError if seq == [].  Aside from that,

Appropriate, I'd say, since the average of a zero-length sequence is

> 1.  Is there anything else dumb about the above?

Well, yes; it seems to me you meant this:

    def average(seq):
        return reduce(operator.add,seq)/len(seq)

What I can't figure out is how you got from this to what you
typed. :-)

> 2.  Am I missing a builtin cousin of min, max that would do this for me?

In pure Python, I don't think so.  I would be surprised if the above
function (when typed correctly) isn't the fastest way in pure Python.


More information about the Python-list mailing list