harryos <oswald.ha...@gmail.com> writes: > hi > I have 2 lists of numbers,say > x=[2,4,3,1] > y=[5,9,10,6] > I need to create another list containing > z=[2*5, 4*9, 3*10, 1*6] ie =[10,36,30,6] > > I did not want to use numpy or any Array types.I tried to implement > this in python .I tried the following > > z=[] > for a,b in zip(x,y): > z.append(a*b) > This gives me the correct result.Still,Is this the correct way? > Or can this be done in a better way?
what you've done is correct, rather than in better ways this can be done in different ways first, there is list comprehension >>> [x*y for x,y in zip([2,4,3,1],[5,9,10,6])] [10, 36, 30, 6] >>> if you feel that "zip" looks like an artifact, python has some functional bit >>> map(lambda x,y: x*y, [2,4,3,1],[5,9,10,6]) [10, 36, 30, 6] >>> if you feel that "lambda" looks like an artifact, >>> from operator import mul >>> map(mul, [2,4,3,1],[5,9,10,6]) [10, 36, 30, 6] >>> hth, -- > In tutti noi c'è un lato interista Lato perlopiù nascosto dalle mutande. --- Basil Fawlty, a reti unificate (IFQ+ISC) -- http://mail.python.org/mailman/listinfo/python-list