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

Reply via email to