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

Reply via email to