> In article <[EMAIL PROTECTED]>, > "Girish Sahani" <[EMAIL PROTECTED]> wrote: > >> I want to generate all permutations of a string. > > def permute(Seq) : > """generator which yields successive permutations of the elements > of Seq.""" > if len(Seq) == 0 : > yield () > else : > for i in range(0, len(Seq)) : > for rest in permute(Seq[:i] + Seq[i + 1:]) : > yield (Seq[i],) + rest > #end for > #end for > #end if > #end permute thanks lawrence...however this func doesnt return the permuted strings, so i added some code as follows to generate a list of all the permutations:
def permute(seq): l = [] if len(seq) == 0: yield [] else: for i in range(0,len(seq)): for rest in permute(seq[:i] + seq[i+1:]): yield (seq[i],) + rest for t in permute(seq): l.append(''.join(t)) return l This gives me a syntax error! I need to output a list that has all the permutations of the input string. > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list