Enumerate
que se encuentra definida en Python.Comentarios al código
Primero creamos una lista con las cuatro estacionesLuego imprimimos la lista para ver el resultado. Esto es lo habitual manejando listas. Usamos
print(mi_lista)
y también podríamos haber usado print(list(mi_lista))
con idéntico resultado.Seguidamente usamos
enumerate
y al imprimirlo nos devuelve una tupla con dos compoentes. Por una lado el contador que comienza en cero, y por el otro lado el elemento correspondiente de la lista.Finalmente, en este primer ejemplo, imprimimos la tupla pero haciendo que el contador comience en uno. Esto se consigue añadiendo
start=1
.#creamos una lista
mi_lista=["primavera","verano","otoño","invierno"]
#imprimimos la lista completa
print(mi_lista)
#usando enumerate obtenemos una tupla
#con un contador desde cero y los elementos de la lista
print(list(enumerate(mi_lista)))
#podemos conseguir que el contador comienze en 1
print(list(enumerate(mi_lista, start=1)))
En el segundo ejemplo usamos un bucle
for
para recorrer todos los elementos de la lista, y dispones al mismo tiempo del valor del contador. Éste comienza en cero pero también podría comenzar en uno si así lo indicásemos añadiendo start=1
.#otro ejemplo
esta_lista=[100,110,120]
#creamos un bucle for donde
#se recorre la lista y se puede usar el contador
for contador, elemento in enumerate(esta_lista):
print(contador, elemento)
Cálculo del VAN
Vamos a realizar un caso práctico para ver el uso denumerate
. Se trata de calcular el VAN (Valor Actual Neto) en inglés NPV (Net Present Value).Se trata de calcular el VAN de la inversión cuyos flujos de caja se indican. Esta inversión valorada al 10% anual arroja un VAN igual a cero.
def npv(rate, cashflows):
total = 0.0
for i, cashflow in enumerate(cashflows):
total += cashflow / (1 +rate)**i
return total
cashflows=[-4000,1400,1300,1200,1100]
print(npv(0.1,cashflows))
No hay comentarios:
Publicar un comentario