title: Python overwriting my original list
body: <p>I am trying to write a piece of code where I know that in my combination of 4 numbers, 3 are in the correct position. I would like to iterate over all 6 possible numbers and create all possible iterations.
  Essentially, if I have a combination [1,2,3,4] and I know 3 are in the correct position, I would like to generate:
  [2,2,3,4],[3,2,3,4],[4,2,3,4],[5,2,3,4],[6,2,3,4],[1,1,3,4],[1,3,3,4],[1,4,3,4],[1,5,3,4],[1,6,3,4],[1,2,1,4],etc...</p>
  
  <p>I have this piece of code which generates all possible iterations to be [6,6,6,6]</p>
  
  <pre><code>def create_guess_list(guess):
  guess_list = []
  for i in range(0,4):
      for j in range(1,7):
          temp = guess
          if j != temp[i]:
              temp[i] = j
              guess_list.append(temp)
  return guess_list
  </code></pre>
  
  <p>I am assuming that every time I create a new combination, even though I am putting it in a temporary list, Python is overwriting it.
  How can I avoid this without creating a blank list each time and appending as I go?
  (or is this the only way?)</p>