title: Variables Being Reset
body: <p>The below class takes a list and then using the move_pieces method, switches the order of the last two items and returns a new list.  Somehow, when I run the below code, the method isn't returning a new list, but saving over the self.state and the 'test' list I've created to run the code.  Any thoughts?</p>
  
  <pre><code>class node:
  
      def __init__(self, state):
          self.state = state
  
      def move_piece(self):
          new_node = self.state
          new_node[7] , new_node[8] = new_node[8] , new_node[7]
          return new_node
  
  test = [1,3,4,8,6,2,7,0,5]
  test_node = node(test)
  test_node.move_piece()
  </code></pre>