The function I wrote (below) reverses lists all right:
def reverse(xs):
if xs == []:
return []
else:
return (reverse (xs[1:])) + [xs[0]]
>>> reverse ([1,2,3])
[3, 2, 1]
>>>
Yet when I try to reverse a string I get:
>>> reverse ("abc")
...
...
...
File "C:\wks\python-wks\reverse.py", line 5, in reverse
return (reverse (xs[1:])) + [xs[0]]
File "C:\wks\python-wks\reverse.py", line 5, in reverse
return (reverse (xs[1:])) + [xs[0]]
File "C:\wks\python-wks\reverse.py", line 2, in reverse
if xs == []:
RuntimeError: maximum recursion depth exceeded in cmp
>>>
What's wrong? Why recursion never stops?
Thanks,
Dima
--
http://mail.python.org/mailman/listinfo/python-list