Python | Maneras de encontrar todas las permutaciones de una string

Dada una string, escriba un programa en Python para averiguar todas las permutaciones posibles de una string. Analicemos algunos métodos para resolver el problema.
Método n.º 1: uso del método ingenuo 
 

Python3

# Python code to demonstrate
# to find all permutation of
# a given string
 
# Initialising string
ini_str = "abc"
 
# Printing initial string
print("Initial string", ini_str)
 
# Finding all permutation
result = []
 
def permute(data, i, length):
    if i == length:
        result.append(''.join(data) )
    else:
        for j in range(i, length):
            # swap
            data[i], data[j] = data[j], data[i]
            permute(data, i + 1, length)
            data[i], data[j] = data[j], data[i] 
permute(list(ini_str), 0, len(ini_str))
 
# Printing result
print("Resultant permutations", str(result))
Producción: 

Initial string abc
Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']

 

  
Método #2: Usando itertools 
 

Python3

# Python code to demonstrate
# to find all permutation of
# a given string
 
from itertools import permutations
 
# Initialising string
ini_str = "abc"
 
# Printing initial string
print("Initial string", ini_str)
 
# Finding all permutation
permutation = [''.join(p) for p in permutations(ini_str)]
# Printing result
print("Resultant List", str(permutation))
Producción: 

Initial string abc
Resultant List ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']

 

Publicación traducida automáticamente

Artículo escrito por garg_ak0109 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 *