5 Técnicas de List Comprehension en Python Que Deberías Conocer


Las list comprehensions son una de las características más poderosas y elegantes de Python. Si bien la sintaxis básica es sencilla, hay algunos patrones avanzados que pueden hacer tu código más eficiente y legible. Veamos 5 técnicas que todo desarrollador Python debería conocer.
1. Filtrado con Condicionales
La forma más básica pero potente de usar list comprehensions es con filtros condicionales:
# Tradicional
numeros_pares = []
for num in range(10):
if num % 2 == 0:
numeros_pares.append(num)
# Con list comprehension
numeros_pares = [num for num in range(10) if num % 2 == 0]
# Resultado: [0, 2, 4, 6, 8]
2. Múltiples Condiciones
Podemos combinar múltiples condiciones usando operadores lógicos:
# Números que son pares Y divisibles por 3
numeros = [num for num in range(30) if num % 2 == 0 and num % 3 == 0]
# Resultado: [0, 6, 12, 18, 24]
3. Comprehensions Anidadas
Las comprehensions pueden contener múltiples bucles:
matriz = [[i+j for j in range(3)] for i in range(0, 9, 3)]
# Resultado: [[0, 1, 2], [3, 4, 5], [6, 7, 8]]
4. Transformaciones con Condicionales
Podemos usar el operador ternario para transformaciones condicionales:
numeros = [1, 2, 3, 4, 5]
transformados = ['par' if n % 2 == 0 else 'impar' for n in numeros]
# Resultado: ['impar', 'par', 'impar', 'par', 'impar']
5. Trabajando con Diccionarios
Las list comprehensions también son útiles para transformar diccionarios:
precios = {'manzana': 0.5, 'banana': 0.25, 'naranja': 0.75}
frutas_caras = {k: v for k, v in precios.items() if v > 0.3}
# Resultado: {'manzana': 0.5, 'naranja': 0.75}
Consideraciones de Rendimiento
Si bien las list comprehensions son elegantes, no siempre son la mejor opción:
Son excelentes para listas pequeñas y medianas
Para operaciones muy complejas, un bucle tradicional puede ser más legible
Para conjuntos de datos muy grandes, considera usar generadores en su lugar
Evita anidar más de dos niveles de comprehension
Conclusión
Las list comprehensions son una herramienta poderosa en Python que puede hacer tu código más conciso y elegante. Sin embargo, como con cualquier herramienta, es importante usarlas con criterio y considerar la legibilidad y el rendimiento.
Recursos Adicionales
¿Te resultó útil este artículo? ¡No dudes en dejar tus comentarios y compartir tus propias experiencias con list comprehensions!
Tags: #Python #Programming #Coding #DataStructures #PythonTips
Subscribe to my newsletter
Read articles from Joaquín Gutiérrez directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
