list comprehension return a list and sum over in loop

Mark Lawrence breamoreboy at yahoo.co.uk
Fri Dec 12 02:17:15 EST 2014


On 12/12/2014 06:22, KK Sasa wrote:
> Hi there,
>
> The list comprehension is results = [d2(t[k]) for k in xrange(1000)], where d2 is a function returning a list, say [x1,x2,x3,x4] for one example. So "results" is a list consisting of 1000 lists, each of length four. Here, what I want to get is the sum of 1000 lists, and then the result is a list of length four. Is there any efficient way to do this? Because I found it is slow in my case. I tried sum(d2(t[k]) for k in xrange(1000)), but it returned error: TypeError: unsupported operand type(s) for +: 'int' and 'list'. Thanks.
>

I think you need something like this 
http://stackoverflow.com/questions/19339/a-transpose-unzip-function-in-python-inverse-of-zip

I'll let you add the finishing touches if I'm correct :)

-- 
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.

Mark Lawrence




More information about the Python-list mailing list