0Pricing
Coding Interview Prep · Lección

Enumere con itertools

Productos, combinaciones y permutaciones

Enumere con itertools es una lección gratuita de Coding Interview Prep en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Coding Interview Prep, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Coding Interview Prep incluye 4 lecciones en total.

Deje que itertools haga los bucles

itertools de Python genera combinaciones y ordenaciones por usted, de modo que escribe menos código de bucles y comete menos errores. 🙂

Impórtelo primero

Todo se encuentra en un único módulo, así que empiece con import itertools. Después puede llamar directamente a product, permutations y combinations.

import itertools

product para bucles anidados

Use product para reemplazar los bucles profundamente anidados sobre las mismas opciones. Genera cada tupla de selecciones a partir de los rangos indicados.

for combo in itertools.product(range(3), repeat=2):
    print(combo)

permutations para ordenaciones

Cuando el orden importa, permutations enumera todas las disposiciones de los elementos. Es perfecto para una solución de fuerza bruta pequeña al estilo del problema del viajante.

for p in itertools.permutations([1, 2, 3]):
    print(p)

combinations para elegir

Cuando el orden no importa, combinations selecciona cada grupo de tamaño r. Es ideal para elegir un subconjunto de elementos que comprobar.

for c in itertools.combinations([1, 2, 3, 4], 2):
    print(c)

permutations frente a combinations

La diferencia clave es el orden: permutations trata (1,2) y (2,1) como elementos distintos, mientras que combinations los considera la misma selección.

Tenga en cuenta el crecimiento

Las permutaciones crecen como n!, lo que aumenta rápidamente. Incluso n igual a 11 ya supera los cuarenta millones de disposiciones, así que mantenga n pequeño.

Son perezosas

Estas funciones son generadores: producen un elemento a la vez sin construir una lista enorme, por lo que el consumo de memoria se mantiene bajo durante el bucle.

Combínelas con una comprobación

Genere las candidatas y, después, conserve solo las que superen su prueba. Este patrón convierte una búsqueda difícil en un bucle breve y legible.

best = min(itertools.permutations(cities), key=tour_length)

combinations_with_replacement

¿Necesita elegir elementos que puedan repetirse? Use combinations_with_replacement para permitir que el mismo elemento aparezca más de una vez en un grupo.

Elija la herramienta adecuada

Hágase dos preguntas: ¿importa el orden?, y ¿pueden repetirse los elementos? Las respuestas le indican directamente la función correcta de itertools.

Comprobación rápida

Debe enumerar todas las formas de elegir 3 de 6 elementos cuando el orden no importa.

Resumen

Use product, permutations y combinations para enumerar de forma clara. Elija la función preguntándose si importa el orden y si se repiten los elementos, y vigile el crecimiento. 🚀

Preguntas frecuentes

¿La lección «Enumere con itertools» es gratis?

Sí — el texto completo de «Enumere con itertools» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Coding Interview Prep, actualiza a CoddyKit PRO. El curso de Coding Interview Prep incluye 4 lecciones en total.

¿Qué aprenderé en «Enumere con itertools»?

Productos, combinaciones y permutaciones Practicas Coding Interview Prep con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Coding Interview Prep?

No se requiere experiencia previa. Coding Interview Prep en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Enumere con itertools»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Coding Interview Prep?

Sí. Cada lección de Coding Interview Prep incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. La fuerza bruta es una estrategia válida
  2. Enumere con itertools
  3. Enumeración de subconjuntos con bitmask
  4. Reduzca el espacio de búsqueda con inteligencia
← Volver a Coding Interview Prep