I happened on this peculiar behaviour accidentally:
>>> a = [] >>> a[:] = [\'potato\', a] >>> print a [\'potato\', [...]] >>
list() makes a shallow copy. The outer list is no longer the same object as the list it contains. It is printed as you would expect.
list()