Explica este código Python
Dificultad: Intermedio
## Reto #40
frutas = ["manzana", "pera", "fresa"]
frutas2 = frutas
frutas2.append("banana")
print(frutas)
- A.
['manzana', 'pera', 'fresa']
- B.
['manzana', 'pera', 'fresa', 'banana']
- C.
['banana', 'manzana', 'pera', 'fresa']
- D.
Ninguna de las anteriores
Respuesta en el primer comentario.
Top comments (1)
Respuesta:
['manzana', 'pera', 'fresa', 'banana']
En Python las listas se asignan por referencia, esto significa que su valor queda ligado a una dirección de memoria dentro de nuestro ordenador, por ende cuando hacemos
frutas2 = frutas
lo que copiamos en la variablefrutas2
no es el valor de toda la listafrutas
, sino que copiamos la referencia en memoria de la listafrutas
.En Python y a diferencia de otros lenguajes podemos verificar esto haciendo uso de la función
id()
que justamente nos regresa la dirección de memoria donde esta almacenada nuestra variable:Vemos que la dirección en memoria de ambas variables es la misma y es por este motivo que al alterar la lista de frutas de la variable
frutas2
los cambios también se ven reflejados en la variable originalfrutas
.