title: Python: Print a list in reverse using recursion
body: <p>I'm trying to figure out how to print out a list in reverse order using recursion.
  This is how I reversed a list:</p>
  
  <pre><code>def reverse_list(xs):
      if xs == []:
           return xs
      else:
          new_list = (print_reverse (xs[1:])) + [xs[0]]
          return new_list
  </code></pre>
  
  <p>and this is how I printed a list in order:</p>
  
  <pre><code>def print_in_order(l, i = 0):
      if i &lt; len(l):
          print (l[i])
          print_in_order(l, i + 1)
  </code></pre>
  
  <p>I tried just printing out from the new list inside the function like this:</p>
  
  <pre><code>def print_reverse(xs):
      if xs == []:
          return xs
      else:
          new_list = (print_reverse (xs[1:])) + [xs[0]]
      for number in new_list: 
          print (number)
  </code></pre>
  
  <p>But it raises an error. How do you combine the two processes?</p>