On Wed, 16 Apr 2008 06:31:04 -0700, nullgraph wrote: > I'm new to Python and the notion of lambda, and I'm trying to write a > function that would have a varying number of nested for loops > depending on parameter n. This just smells like a job for lambda for > me, but I can't figure out how to do it. Any hint?
That has nothing to do with ``lambda``. If you don't think "Hey, that's smells like a job for a function." then it's no job for ``lambda``, which is just a way to define a function without automatically binding it to a name like ``def`` does. One solution to your problem is recursion. Untested: def foo(xs): if xs: for elt in xs[0]: for ys in foo(xs[1:]): yield [elt] + ys else: yield [] Called as ``foo([A, B])``. Ciao, Marc 'BlackJack' Rintsch -- http://mail.python.org/mailman/listinfo/python-list