Buscar todas las permutaciones de una cadena dada en Python

Encontrar todas las permutaciones de una cadena dada : Aquí, vamos a aprender cómo encontrar todas las permutaciones class una cadena dada usando el módulo itertools en el lenguaje de programación Python?

Python itertools Módulo

“itertools” son un módulo incorporado en Python que es una colección de herramientas de manejo for iteradores. Es el módulo más útil de Python. Aquí, una cadena es proporcionada por el usuario y tenemos que imprimir todas las permutaciones posibles de la cadena dada en Python . Como todos sabemos la permutación es una manera de disponer los elementos de un grupo o conjunto en un orden específico o una secuencia que hace que un grupo diferente. Todos hemos calculado las permutaciones mediante el uso de la pluma y el papel, pero aquí vamos a hacer esto utilizando el lenguaje de programación Python en un tiempo muy pequeño.

algoritmo para resolver el problema:

  1. Inicialmente, vamos a for la función de permutación del módulo itertools.
  2. Tome la cadena del usuario y asignar en una variable s .
  3. generar todas las permutaciones utilizando la función de permutación y asignar en una variable p .
  4. Dado que todos los elementos de p están en forma de tupla. Por lo tanto, lo convierten en la lista.
  5. En el último, añadir todos los elementos de la lista e imprimirla que es nuestros posibles permutaciones.

Empecemos a escribir el programa en Python mediante la aplicación del algoritmo anterior de una manera sencilla.

programa de Python para encontrar todas las permutaciones de una cadena dada

# importing the module
from itertools import permutations
# input the sting
s=input('Enter a string: ')
A=[]
b=[]
p=permutations(s)
for k in list(p):
A.append(list(k))
for j in A:
r=''.join(str(l) for l in j)
b.append(r)
print('Number of all permutations: ',len(b))
print('All permutations are: ')
print(b)

salida

Enter a string: ABC
Number of all permutations: 21
All permutations are:
['ABC', 'ABC', 'ACB', 'ABC', 'ACB', 'BAC', 'ABC', 'ACB', 'BAC', 'BCA', 'ABC',
'ACB', 'BAC', 'BCA', 'CAB', 'ABC', 'ACB', 'BAC', 'BCA', 'CAB', 'CBA']


Deja un comentario

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