Entonces me gustaría iterar sobre dos listas simultáneamente y también necesito el índice como se hizo con el siguiente código. Ambos son sencillos para mí, pero ¿es posible enumerar dos usos en el segundo caso también? Por supuesto, asumiendo que ambas matrices var tienen la misma longitud.
import numpy as np
def _eqn(y, variables, sign=-1.0):
f = 0
for i,x in enumerate(variables):
f += x/(1+0.06)**(i+1)
return float(sign*(y + f))
_eqn(1,np.array([1,1]))
def _eqn2(y, vars1, vars2, sign=-1.0):
f = 0
n = len(vars1)
for x,y,i in zip(vars1, vars2, range(n)):
f += (x+y)/(1+0.06)**(i+1)
return float(sign*(y + f))
_eqn2(1,np.array([1,1]),np.array([1,1]))
Sí, es posible ... aunque con un ligero cambio
def _eqn2(y, vars1, vars2, sign=-1.0):
f = 0
for i, (v1,v2) in enumerate(zip(vars1, vars2)):
f += (v1+v2)/(1+0.06)**(i+1)
return float(sign*(y + f))
Enumeras tuplas del zip
de tu vars
.
Aunque, dado que está trabajando con numpy
matrices, estoy seguro de que hay una mejor manera de lograr este mismo objetivo sin usar un for
bucle de Python .
También se tomó la libertad de cambiar los nombres de las variables, ya que estaba usando y
dos contextos diferentes y podría resultar confuso.
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras