On Thu, Jun 2, 2011 at 4:38 PM, Tim Delaney <timothy.c.dela...@gmail.com> wrote: > First of all, do you have the parameters to the lambda the wrong way around > in the map() version? zip(histogram, range(255)) will return (histogram > value, index), but enumerate(histogram) will return (index, histogram > value). But the parameters haven't been swapped, resulting in the histogram > value being squared in the map version, but the index being squared in the > manual summing version. Depending on the values, this could result in a > large performance increase in the second version (if the total value exceeds > the maximum size of your platform's "long" type).
In addition to what Tim said, I question whether you should even be multiplying by the index at all. The usual definition of "root mean square" is this: math.sqrt(sum(x * x for x in values) / len(values)) I don't know the problem that you're trying to solve, though, so maybe I am just being confused by your terminology. Cheers, Ian -- http://mail.python.org/mailman/listinfo/python-list