What is the "functional" way of doing this?
Ricardo Aráoz
ricaraoz at gmail.com
Mon Jul 30 20:59:10 EDT 2007
> On Jul 30, 4:39 pm, Paul Rubin <http://phr...@NOSPAM.invalid> wrote:
>> "attn.steven.... at gmail.com" <attn.steven.... at gmail.com> writes:
>>> Recursion is common in functional programming:
>>> def f(n, l=None):
>>> if l == None:
>>> l = []
>>> if n > 0:
>>> return f(n/26, l + [n%26])
>>> else:
>>> return l
>>> print f(1000)
>> Right, this is functional style, but quite painful in Python (no tail
>> recursion, and look at all that list copying).
>
It might actually be :
def f(n):
if n > 0:
return ([n%26] + f(n/26))
else:
return []
Wouldn't that be ok?
More information about the Python-list
mailing list