Itertool es un módulo de Python que se utiliza para la creación de iteradores que nos ayudan a crear bucles eficientes en términos de espacio y tiempo. Este módulo nos ayuda a resolver problemas complejos fácilmente con la ayuda de diferentes subfunciones de itertools. Las diferentes subfunciones se dividen en 3 subgrupos que son: –
- Iteradores infinitos
- Iteradores que terminan en la secuencia de entrada más corta
- Generadores Combinatorios
Nota: Para obtener más información, consulte Python Itertools
Itertools.combinaciones()
Itertools.combinations()
cae dentro de la tercera subcategoría llamada «Generadores Combinatorios». Los generadores combinatorios son aquellos iteradores que se utilizan para simplificar construcciones combinatorias como permutaciones, combinaciones y productos cartesianos.
Como se entiende por combinaciones de nombres, se refiere a una secuencia o conjunto de números o letras utilizados en el iterador. De manera similar itertools.combinations()
, nos proporciona todas las tuplas posibles, una secuencia o conjunto de números o letras utilizados en el iterador y se supone que los elementos son únicos en función de las posiciones que son distintas para todos los elementos. Todas estas combinaciones se emiten en orden lexicográfico. Esta función toma ‘r’ como entrada aquí ‘r’ representa el tamaño de las diferentes combinaciones que son posibles. Todas las combinaciones emitidas son de longitud ‘r’ y ‘r’ es un argumento necesario aquí.
Sintaxis:
combinations(iterator, r)
Ejemplo 1:-
# Combinations Of string "GeEKS" OF SIZE 3. from itertools import combinations letters ="GeEKS" # size of combination is set to 3 a = combinations(letters, 3) y = [' '.join(i) for i in a] print(y)
Producción:-
['G e E', 'G e K', 'G e S', 'G E K', 'G E S', 'G K S', 'e E K', 'e E S', 'e K S', 'E K S']
Ejemplo 2:-
from itertools import combinations print ("All the combination of list in sorted order(without replacement) is:") print(list(combinations(['A', 2], 2))) print() print ("All the combination of string in sorted order(without replacement) is:") print(list(combinations('AB', 2))) print() print ("All the combination of list in sorted order(without replacement) is:") print(list(combinations(range(2), 1)))
Producción :-
All the combination of list in sorted order(without replacement) is: [('A', 2)] All the combination of string in sorted order(without replacement) is: [('A', 'B')] All the combination of list in sorted order(without replacement) is: [(0,), (1,)]