Copiar
bag.copy() toma los valores que hay en bag en ese momento y los deja en una lista nueva. Ahora bag tiene tea y después water, así que la lista nueva tiene tea y después water. El nombre other es esa lista nueva. other no es bag.
Antes de cualquier cambio, el puesto 0 de other es tea y el puesto 1 es water. La longitud es 2. La copia es una foto de este momento. Después no sigue mirando bag.
bag[0] = "soup" pone soup en el puesto de tea solo dentro de bag. other sigue empezando por tea, y water se queda en el puesto 1 de las dos listas. Las dos longitudes siguen en 2. La copia no se entera del cambio posterior.
bag = ["tea", "water"]
other = bag.copy()
bag[0] = "soup"
print(bag)
print(other)
La primera línea es soup y luego water. La segunda es tea y luego water. soup está solo en bag. tea sigue siendo el primero en other. print escribe cada lista con sus corchetes, para ver las dos listas juntas.
Al revés pasa igual. other[1] = "bread" dejaría bread solo en other. El puesto 1 de bag seguiría siendo water. Este programa no da ese paso. Solo cambia bag después de copiar.
bag[:] también arma una lista nueva con los mismos valores. Es el recorte de la lista entera, y el resultado queda aparte de bag. other = bag no copia. Los dos nombres son la misma lista, así que un cambio posterior se ve bajo los dos nombres.
📊 Tres formas de escribirlo
| Escritura | Qué obtienes |
|---|---|
| bag.copy() | una lista nueva con los valores de ahora |
| bag[:] | una lista nueva con esos mismos valores |
| other = bag | no es una lista nueva; los dos nombres son la misma lista |
El nombre que no guarda tea
Si escribes other = bag y luego bag[0] = "soup", other también muestra soup. No había una segunda lista que guardara tea. El programa de arriba usa copy(), así que other guarda tea y luego water.
La página siguiente pone los valores en un orden. Esta página no reordena. tea sigue delante de water en other porque ese era el orden al copiar. soup es el primero en bag solo porque cambiaste el puesto 0 después de copiar.
Qué quedó aparte
- ¿Qué escribe el programa, la primera línea y luego la segunda?
- Después del programa, ¿cuál es el primer valor de other?
- Si luego pones bread en el puesto 1 de other, ¿qué queda en bag en el puesto 1?
- ¿Qué hace other = bag que copy() no hace?
tea se queda en la copia
La pantalla es soup, luego water, y después tea, luego water. other sigue empezando por tea. Las dos longitudes son 2. bread en other dejaría water en el puesto 1 de bag. other = bag es una sola lista, así que soup se vería bajo los dos nombres. bag[:] es otra lista nueva con los mismos valores. La página siguiente ordena valores. No hace esta copia.
🧠 Pon a Prueba tu Conocimiento
Pon a Prueba tu Conocimiento
Ponte a prueba con este cuestionario interactivo y descubre qué tan bien entiendes el tema
📝 Instrucciones
- Lee cada pregunta cuidadosamente
- Selecciona la mejor respuesta para cada pregunta
- Puedes repetir el quiz tantas veces como quieras
- Tu progreso se mostrará en la parte superior