¿Por qué la lista (my_list) modifica el objeto?

Me encontré con este comportamiento peculiar accidentalmente:

>>> a = []
>>> a[:] = ['potato', a]
>>> print a
['potato', [...]]
>>> print list(a)
['potato', ['potato', [...]]]

Por que mecanismo hace llamarlist(a) Desenrollar un nivel de recursión en la cadena de representación de sí mismo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta