domingo, 19 de abril de 2026

LENGUAJES. Python

ITERACION

Función enumerate()

El bucle for permite iterar colecciones recorriendo cada uno de sus elementos, pero hay veces en que, además, necesitamos acceder al índice del elemento. En estos casos o bien usamos una estructura que incluya el contador dentro del bucle, o bien recurrimos a la función enumerate().



lista = ["A", "B", "C"]

# Bucle for simple -------------------------------------------------------
'''
for recorre aquí el iterable lista y devuelve (print()) 
la lista de sus elementos
'''
for l in lista:
    print(l)

'''
Salida:
A
B
C
'''

# Iteración más índice. Estructura compleja
'''
Para obtener la iteración asociada a su índice
necesitamos inicilizar el índice e incluirlo dentro
del ciclo
'''

indice = 0
for l in lista:
    print(indice, l)
    indice += 1

'''
Salida:
0 A
1 B
2 C
'''

# Uso de enumerate()
'''
Empleando enumerate() nos ahorramos especificar
el contador. Éste y el iterador se esciben tras for y separados por una coma
La salida es la misma de antes
'''
for indice, l in enumerate(lista):
    print(indice, l)


Pero también podemos utilizar numerate() sobre colecciones, generando una lista de tuplas. En cada una de ellas se obtiene el índice y el elemento de la colección.



# Numerate también en listas

en = list(enumerate(lista))
print(en)

'''
Salida:
[(0, 'A'), (1, 'B'), (2, 'C')]
'''


Otro uso posible de numerate() es cadenas, que, como sabemos, también se entienden en Python como iterables.



cadena = "ejemplo" 
for x in enumerate(cadena): 
    print(x)

'''
Salida:
(0, 'e') 
(1, 'j') 
(2, 'e') 
(3, 'm') 
(4, 'p') 
(5, 'l') 
(6, 'o')
'''

Aunque podemos usar nmerate() con un único parámetro (el iterable) (for indice, l in enumerate(lista):), también podemos utilizar un segundo parámetro (for x in enumerate(cadena,1)) , que hace que la numerción del índice empeice por el valor numérico que se usa como segundo parámetro, de modo que, por ejemplo, en el script anterior, la numetación de las letras de la cadena comiencen por 1 ((0,'e') -> pasa a ser (1,'e')).

NOTA: Este contenido se basa en ellibrodepython.com y en www.ionos.es.

No hay comentarios:

Publicar un comentario

Comenta esta entrada