Help- Simple recursive function to build a list

Kent Johnson kent37 at tds.net
Tue Mar 1 22:05:55 EST 2005


actuary77 wrote:
> I am trying to write simple recursive function to build a list:
> 
> 
> def rec(n,alist=[]):
>     _nl=alist[:]
>     print n,_nl
>     if n == 0:
>         print n,_nl
>         return _nl
>     else:
>         _nl=_nl+[n]
>         rec(n-1,_nl)

should be
         return rec(n-1,_nl)

  >>> def rec(n,alist=[]):
  ...     _nl=alist[:]
  ...     print n,_nl
  ...     if n == 0:
  ...         print n,_nl
  ...         return _nl
  ...     else:
  ...         _nl=_nl+[n]
  ...         return rec(n-1,_nl)
  ...
  >>> _nl = rec(4)
4 []
3 [4]
2 [4, 3]
1 [4, 3, 2]
0 [4, 3, 2, 1]
0 [4, 3, 2, 1]
  >>> print _nl
[4, 3, 2, 1]

Kent



More information about the Python-list mailing list