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)

_nl=[]
_nl=rec(4)
print _nl

### shouldn't this work?

_nl=rec(4)




The output is: 4 [] 3 [4] 2 [4, 3] 1 [4, 3, 2] 0 [4, 3, 2, 1] 0 [4, 3, 2, 1] None None


Question: ============ Why isn't the function returning a list? Why is function returning None?

Any guidance from one of you pro's would be greatly appreciated.

Thanks,
DKoch
[EMAIL PROTECTED]
Sorry for all of the noise!

It now makes sense if I write it, (simple):

def rec2(n):
    if n == 0:
        return []
    else:
        return [n] + rec2(n-1)

print rec2(4)
  => [4,2,3,1]

Thank you for the help!



--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to