On Nov 2, 10:34 pm, [EMAIL PROTECTED] wrote: > Anyway what I want to do is experiment with code similar to this (i.e. > same algorithm and keep the recursion) in other languages, > particularly vbscript and wondered what it would look like if it was > rewritten to NOT use the yield statement - or at least if it was > amended so that it can be easily translated to other languages that > dont have python's yield statement. I think the statement "for perm in > all_perms(str[1:]):" will be hardest to replicate in a recursive > vbscript program for example. > > Thanks for any constructive help given. >
Here is a solution which does not use yield, translittered from some Scheme code I have: def perm(lst): ll = len(lst) if ll == 0: return [] elif ll == 1: return [lst] else: return [[el] + ls for el in lst for ls in perm([e for e in lst if not e==el])] if __name__ == '__main__': print perm('abcd') -- http://mail.python.org/mailman/listinfo/python-list