What is the "functional" way of doing this?
attn.steven.kuo at gmail.com
attn.steven.kuo at gmail.com
Mon Jul 30 19:55:13 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).
Yes, I agree that performance would greatly suffer. This
is really idomatic Lisp re-written as Python and was the first
thing that popped into my head when the OP mentioned 'functonal'.
Your generator/iterator solution should run must faster.
--
Regards,
Steven
More information about the Python-list
mailing list