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

Reply via email to