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