listcomprehension, add elements?
Jeff
jeffober at gmail.com
Sun Jun 22 19:10:35 EDT 2008
On Jun 22, 6:32 pm, 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?
Nothing that would be more concise than reduce. Anything you did with
iteration would just mimic reduce in any case.
Jeff Ober
artfulcode.net
More information about the Python-list
mailing list