Python – Itertools.Permutaciones()

Itertool es un módulo proporcionado por Python para crear iteradores para un bucle eficiente. También proporciona varias características o funciones que funcionan con iteradores para producir iteradores complejos y ayudarnos a resolver problemas de manera fácil y eficiente en términos de tiempo y memoria. El módulo Itertools nos proporciona varias formas de manipular la secuencia que estamos atravesando. Los diferentes tipos de iteradores proporcionados por este módulo son:

Nota: Para obtener más información, consulte Python Itertools

Itertools.permutación()

La función Itertools.permutation() se incluye en los generadores combinatorios. Los generadores recursivos que se utilizan para simplificar construcciones combinatorias como permutaciones, combinaciones y productos cartesianos se denominan iteradores combinatorios. Tal como se entiende por la palabra “Permutación” se refiere a todas las combinaciones posibles en las que se puede ordenar o arreglar un conjunto o string. De manera similar, aquí el método itertool.permutations() nos proporciona todos los arreglos posibles que pueden existir para un iterador y se supone que todos los elementos son únicos en función de su posición y no por su valor o categoría. Todas estas permutaciones se proporcionan en orden lexicográfico. La función itertool.Sintaxis:

Permutations(iterator, r)

Ejemplo 1:- 

Python3

from itertools import permutations
 
 
a = "GeEK"
 
# no length entered so default length
# taken as 4(the length of string GeEK)
p = permutations(a)
 
# Print the obtained permutations
for j in list(p):
  print(j)

Producción :-

('G', 'e', 'E', 'K')
('G', 'e', 'K', 'E')
('G', 'E', 'e', 'K')
('G', 'E', 'K', 'e')
('G', 'K', 'e', 'E')
('G', 'K', 'E', 'e')
('e', 'G', 'E', 'K')
('e', 'G', 'K', 'E')
('e', 'E', 'G', 'K')
('e', 'E', 'K', 'G')
('e', 'K', 'G', 'E')
('e', 'K', 'E', 'G')
('E', 'G', 'e', 'K')
('E', 'G', 'K', 'e')
('E', 'e', 'G', 'K')
('E', 'e', 'K', 'G')
('E', 'K', 'G', 'e')
('E', 'K', 'e', 'G')
('K', 'G', 'e', 'E')
('K', 'G', 'E', 'e')
('K', 'e', 'G', 'E')
('K', 'e', 'E', 'G')
('K', 'E', 'G', 'e')
('K', 'E', 'e', 'G')

Complejidad de tiempo: O(n!) donde n es el tamaño de la string.
Espacio auxiliar: O(n*n!) 

Ejemplo 2:- 

Python3

from itertools import permutations
   
print ("All the permutations of the given list is:")
print (list(permutations([1, 'geeks'], 2)))
print()
 
print ("All the permutations of the given string is:")
print (list(permutations('AB')))
print()
   
print ("All the permutations of the given container is:")
print(list(permutations(range(3), 2)))

Producción:-

All the permutations of the given list is:
[(1, 'geeks'), ('geeks', 1)]

All the permutations of the given string is:
[('A', 'B'), ('B', 'A')]

All the permutations of the given container is:
[(0, 1), (0, 2), (1, 0), (1, 2), (2, 0), (2, 1)]

Publicación traducida automáticamente

Artículo escrito por sahivam4u y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *