Python: dos objetos son iguales [duplicados]

Posible duplicado:
Asignación de objetos y tipos fundamentales.

a = [1,2,3]
b = a
print b is a

Este código se imprime verdadero. ¿Por qué? "is" solo devuelve True si las dos variables apuntan al mismo objeto, cuando en este caso son objetos diferentes con el mismo valor. "==" devolvería True, pero "is" no debería.

Sin embargo, desde

b.reverse()
print a,b

imprime [3, 2, 1] [3, 2, 1], parece que en lo que concierne al intérprete, SON el mismo objeto, y las operaciones en b se realizarán automáticamente en a. De nuevo, ¿por qué? Nunca antes había visto algo así.

Respuestas a la pregunta(6)

Su respuesta a la pregunta