bullockbefriending bard skrev: > On Jul 4, 7:09 pm, Nis Jørgensen <[EMAIL PROTECTED]> wrote: >> bullockbefriending bard skrev: >> A quick solution, not extensively tested >> >> # base needs to be an of the python builtin set >> >> def k_perm(base,k): >> for e in base: >> if k == 1: >> yield [e] >> else: >> for perm in k_perm(base-set([e]),k-1): >> yield [e] + perm > > thank you!. i'll give this a try. seems to do exactly what i need. > sorry about the ambiguity in my example. i chose 3 from 3 merely to > keep the size of the example case small, without thinking enough about > how it might cause confusion.
I managed to simplify it a little: def k_perm(base,k): if k == 0: yield [] else: for e in base: for perm in k_perm(base-set([e]),k-1): yield [e] + perm Nis -- http://mail.python.org/mailman/listinfo/python-list