A permutation on permutations
Arthur Siegel
ajs at ix.netcom.com
Sun Nov 25 15:09:38 EST 2001
Phil writes -
>Can you have the same number appearing twice, e.g. [1,2,3,3] ?
Actually I hadn't considered double points for what I'm doing.
But I believe that the universe of unique curves would
include curves with double point args. I'll play with it and see
if I can get a better criteria for unique curves.
>>So am a looking for a function to return all
>>permutations, excluding duplicates as defined above.
>Consider the following source:
>def perm(source, done=0, current=[]):
> if done == len(source):
> if current[0] < current[-1]: #removes reversals
> print current
> else:
> for i in source:
> if i not in current:
> perm(source, done+1, current+[i])
Works nice, but I haven't found a great way to get a return
value. Using a global L=[] in the calling code and
an L.append(current) at "print current" in the perm func.
Thanks.
Art
More information about the Python-list
mailing list