Il codice seguente genera tutte le permutazioni di una stringa:Si prega di spiegare questo algoritmo per ottenere tutte le permutazioni di una stringa
def permutations(word):
if len(word)<=1:
return [word]
#get all permutations of length N-1
perms=permutations(word[1:])
char=word[0]
result=[]
#iterate over all permutations of length N-1
for perm in perms:
#insert the character into every possible location
for i in range(len(perm)+1):
result.append(perm[:i] + char + perm[i:])
return result
puoi spiegare come funziona? Non capisco la ricorsione.
Sembra di avere un errore di indentazione qui, anche, vale la pena sottolineare che questo codice sta reinventando la ruota. C'è già 'itertools.permutations' nella libreria standard :-) - Anche se questo non ti aiuta a capire questo codice. – mgilson
Cosa intendi con "lui" e "quest'uomo"? –
@DavidRobinson Penso che sia stato solo un modo "carino" di chiedere cosa stava succedendo nel codice. Ho riscritto la domanda per chiedere direttamente una spiegazione, che penso fosse ciò che l'interrogante voleva (e ha ricevuto). – Blckknght