Girish Sahani wrote: >>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 >> > >
p = ["".join(s) for s in permute('abcdefg')] -- James Stroud UCLA-DOE Institute for Genomics and Proteomics Box 951570 Los Angeles, CA 90095 http://www.jamesstroud.com/ -- http://mail.python.org/mailman/listinfo/python-list