Iteración Avanzada
Python ofrece formas poderosas para iterar (recorrer) colecciones de datos:
La función enumerate() te permite acceder al índice y al valor al mismo tiempo:
frutas = ["Manzana", "Banana", "Naranja"]
for i, fruta in enumerate(frutas):
print(f"{i}: {fruta}")
Con zip() puedes recorrer varias listas simultáneamente:
nombres = ["Carlos", "Ana", "Luis"]
notas = [90, 85, 88]
for nombre, nota in zip(nombres, notas):
print(f"{nombre} obtuvo {nota}")
Las comprensiones de lista (List Comprehension) son una forma elegante de crear listas en una sola línea:
numeros = [1, 2, 3, 4, 5]
cuadrados = [n**2 for n in numeros] # [1, 4, 9, 16, 25]
pares = [n for n in numeros if n % 2 == 0] # [2, 4]
Con map() puedes aplicar una función a cada elemento:
def multiplicar_por_dos(numero):
return numero * 2
resultado = list(map(multiplicar_por_dos, numeros))
# O con lambda: resultado = list(map(lambda x: x*2, numeros))
Con filter() puedes filtrar elementos según una condición:
resultado = list(filter(lambda x: x > 10, [5, 12, 7, 20, 30, 3])) # [12, 20, 30]
💡 Consejo de eficiencia: Las comprensiones de lista son generalmente más rápidas y pythónicas que los bucles tradicionales. Intenta usarlas para código más conciso y eficiente.