Erik Max Francis <[EMAIL PROTECTED]> writes: > So far the fastest way I've found is using the `sum` builtin and > generators:: > > ordinalSum = sum(ord(x) for x in data) > ordinalSumSquared = sum(ord(x)**2 for x in data)
For ordinalSum, using imap is almost twice as fast: $ python -m timeit -s 'data=[chr(x) for x in xrange(256)]' 'sum(ord(x) for x in data)' 10000 loops, best of 3: 92.4 usec per loop $ python -m timeit -s 'data=[chr(x) for x in xrange(256)]; from itertools import imap' 'sum(imap(ord, data))' 10000 loops, best of 3: 55.4 usec per loop Of course, that optimization doesn't work for the squared sum; using a lambda only pessimizes it. -- http://mail.python.org/mailman/listinfo/python-list