Iteracyjne rozwiązanie dla: - Znajdowania permutacji ciągu

czytamto proste i eleganckie rozwiązanie Pythona do wyszukiwania wszystkich permutacji danego ciągu. Jest rekurencyjny. Na tej podstawie próbowałem zaimplementować rozwiązanie iteracyjne w pythonie.

Poniżej znajduje się mój kod. Ale działa tylko dla 3 ciągów znaków :( Stuck próbując zobaczyć, jak warunek rekurencji i warunek rekurencji przekłada się na iteracyjny (nierekursywny). Wszelkie wskaźniki pomogłyby uzyskać iteracyjne rozwiązanie działające (albo w oparciu o ten algorytm, albo dowolne inny)

def  permutations_iter(word):
while True:
    perms = []
    result = []

    char = word[0]
    new_word = word[1:]

    if len(new_word)==2: 
        perms = [new_word,''.join(reversed(new_word))]

    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

    if len(new_word)==2:
        break;


   #example code to call this iterative function        
   print permutations_iter("LSE")   

questionAnswers(1)

yourAnswerToTheQuestion