beginner wrote: > Hi, > > If I have a number n and want to generate a list based on like the > following: > > def f(n): > l=[] > while n>0: > l.append(n%26) > n /=26 > return l > > I am wondering what is the 'functional' way to do the same. > > Thanks, > beginner >
Does it get any more functional than lambda? py> f = lambda n, r=None: f(n/26, (r if r else [])) + [n%26] if n/26 else [n%26] py> f(300000) [17, 1, 20, 12] py> f(30000) [1, 18, 9, 22] py> f(3000) [4, 11, 10] py> f(1000) [1, 12, 12] -- James Stroud UCLA-DOE Institute for Genomics and Proteomics Box 951570 Los Angeles, CA 90095 http://www.jamesstroud.com/ -- http://mail.python.org/mailman/listinfo/python-list