[EMAIL PROTECTED] wrote:
Suppose I have a list of n floats x and a list of n floats w and I want
to compute x[0]*w[0] + .. + x[n-1]*w[n-1].
Is there some elegant expression (perhaps using lambda) to have it done
in one statement ? As in :
y = lambda x,w : ...
I ask because the way I am doing it now :
y = 0
for i in range(0,n): y += x[i]*w[i]
doesn't seem very pythonic :)
I'll take a stab at that!
In Python 2.3
sum( [ _x * _w for _x, _w in zip( x, w ) ] )
or in 2.4
sum( _x * _w for _x, _w in zip( x, w ) )
You may want to use itertools.izip in place of zip if the lists are large.
Will McGugan
--
http://mail.python.org/mailman/listinfo/python-list