title: Python list recursive changes
body: <p>I have a bug in my attempt to add to a list a sequence of numbers recursively. E.g. if the input is [5,3,9], I do [5+1,3+2,9+3] and output [6,5,12]. I want to do this recursively so the way I'm doing it is going through and adding one to a smaller and smaller part of the list as below:</p>
  
  <pre><code>def add_position_recur(lst, number_from=0):
      length = len(lst)
      # base case
      if (length &lt;= 1):
          lst = [x+1 for x in lst]
          print "last is", lst
      else:
          lst = [x+1 for x in lst]
          print "current list is", lst
          add_position_recur(lst[1:], number_from)
          return lst
  </code></pre>
  
  <p>The problem, though, is that all this does is add 1 to every element of the list. Where is the bug? Is it to do with the way I return the list in the base case?</p>