title: A function that changes the value of a list without reason
body: <p>I'm stunned with this function I've written for python. I've observed that in the lower <code>while</code> it changes the values in the list <code>vctor</code> even though that list is not touched along the function. I've passed the pair <code>(10, [1,3,5,7,10])</code> and it has changed the list <code>vctor</code> to <code>[1,3,5,8,10]</code>. Is there an explanation for this?</p>
  
  <pre><code>def siguiente(k,vctor):
      l = len(vctor)
      vctorsig = vctor
      i = l-1
      while i&gt;= 0:    
          if vctorsig[i] &lt;= k - l + i: 
              j=i
              while j&lt;=l-1:
                  print vctor
                  vctorsig[j] = vctor[i]+j-i+1
                  j=j+1
              i = -1
          else:
              i = i-1
      return vctorsig    
  </code></pre>