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