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