[Tutor] Adding all numbers in a file or list
Steven D'Aprano
steve at pearwood.info
Wed Aug 25 00:22:26 CEST 2010
On Wed, 25 Aug 2010 02:23:10 am Nitin Das wrote:
> alternatively you can use the lambda , reduce function for summing up
> all the numbers in a list for e.g:-
>
> lis = [1,2,3,4,5]
> p = reduce(lambda x,y : x+y, lis)
>
> p will have the value = 15.
Sure, you *can* do this, by why would you re-invent the wheel like that?
As an exercise to teach reduce, sure, or as a demonstration of lambda,
or if you have to support Python 2.2 or older (but that's like four
versions out of date!). sum() is really the only sensible way to do it
these days.
But if you insist on using reduce like that, it will probably be much
faster to do this:
import operator
reduce(operator.add, lis)
particularly on the older versions where sum() isn't available.
--
Steven D'Aprano
More information about the Tutor
mailing list