Bueno, ocurre que lo q estoy haciendo es traspasar el codigo en C++ a Python
De todas maneras despues de cabecear harto, he logrado hacer algunas cosas mas...lo que te he dado son partes de codigo y a lo mejor falta informacion, lo que necesito es lo siguiente:
Tengo 2 listas
a=[3,2,-5,-2,3]
b=[[1,1,1,2,1],[7,0,3,-4,3],[11,-6,0,3,-3]]
y debo multiplicarlas por otra lista que para este ejemplo será:
c=[0,1,0,1,0]
Para la multiplicacion de a con b, tengo el siguiente codigo:
Código Python:
Ver originala=[3,2,-5,-2,3]
b=[[1,1,1,2,1],[7,0,3,-4,3],[11,-6,0,3,-3]]
c=[0,1,0,1,0]
size=5
csize=3
def sumar(x,y):
return x+y
def funcion1():
aux=[0]*size
for i in range(size):
aux[i]=a[i]*c[i]
aux2=reduce(sumar,aux)
print aux
print aux2
funcion1()
El resultado de la nueva lista=[0, 2, 0, -2, 0] y la suma de todos sus indices es 0
Ahora para la multiplicación de b con c, tengo problemas, ya que es una lista de listas, si bien la multiplicacion me resulta al sumar no sé como hacerlo, porque debo sumar el primer indice de la lista q es una lista y esa me arroja un resultado, luego con la siguiente y asi sucesivamente
tengo esto:
Código Python:
Ver originala=[3,2,-5,-2,3]
b=[[1,1,1,2,1],[7,0,3,-4,3],[11,-6,0,3,-3]]
c=[0,1,0,1,0]
size=5
csize=3
def sumar(x,y):
return x+y
def funcion2():
val=[[0]*size for i in range(csize)]
aux=[]
for i in range(csize):
for j in range(size):
val[i][j]=b[i][j]*c[j]
aux.append(val[i][j])
aux2=reduce(sumar,aux)
print aux2
print val
funcion2()
Lo que me tira es la lista val=[[0, 1, 0, 2, 0], [0, 0, 0, -4, 0], [0, -6, 0, 3, 0]]
y los valores 3,-1,-4 , pero lo que realmente debe salir es 3,-4,-3, obviamente el procedimiento q estoy haciendo esta malo, porque esta sumando toda la lista, lo mismo que hace en la primera funcion, el problema es q no sé como hacer
Espero q ahora haya quedado más claro :S