listcomprehension, add elements?
Paul Hankin
paul.hankin at gmail.com
Sun Jun 22 19:23:34 EDT 2008
On Jun 23, 10:32 am, cirfu <circularf... at yahoo.se> wrote:
> [a+b for a,b in zip(xrange(1,51), xrange(50,0,-1))]
>
> [51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
> 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
> 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51]
>
> i want to add all the elemtns a s well. can i do this all in a
> listcomprehension?
>
> i can do this ofc:
> reduce(lambda x,y:x+y,[a+b for a,b in zip(xrange(1,51),
> xrange(50,0,-1))])
>
> but reduce is a functional way of doing it, what is the more pythonic
> way of doing this?
Use the builtin 'sum' function.
sum(a + b for a, b in zip(xrange(1, 51), xrange(50, 0, -1)))
--
Paul Hankin
More information about the Python-list
mailing list