L = [0, 'string', ['l','i','s','t']] # Integers and strings are immutable newL1 = L # This only points newL to the object L references newL2 = list(L) # Shallow copies, same as newL = L[:] import copy newL3 = copy.deepcopy(L) # Deep copies: now L's mutable elements will not change L[0] = 1 L[1] = 'changed' L[2][3] = 'p' print 'newL1: ', newL1 print 'newL2: ', newL2 print 'newL3: ', newL3