syntax question
Erik Max Francis
max at alcyone.com
Mon Apr 5 17:26:39 EDT 2004
AF wrote:
> If I have a list of touples:
>
> l = [(x1, y1), (x2, y2), ...]
>
> Is there a 1 line way to extract and get the sum of each x and y
> column. I can do it this way with 2 lines of code and iterating
> through the list twice:
>
> sumx = sum([x for x, y in l])
> sumy = sum([y for x, y in l])
>
> Is there a 1 liner way to get the sums of both x and y and only
> iterate thru the list once?
>
> Also, is there a way to extract a list of x's and a list of y's from
> the touple list? 1 line of course.
Use zip:
>>> l = ((1, 2), (3, 4), (5, 6))
>>> zip(*l)
[(1, 3, 5), (2, 4, 6)]
>>> xSum, ySum = map(sum, zip(*l))
>>> xSum
9
>>> ySum
12
--
__ Erik Max Francis && max at alcyone.com && http://www.alcyone.com/max/
/ \ San Jose, CA, USA && 37 20 N 121 53 W && AIM erikmaxfrancis
\__/ I do this for the love of music / Not for the glitter and gold
-- India Arie
More information about the Python-list
mailing list