Bienvenido de nuevo.
Continuemos con las listas ahora.
Hasta ahora, los corchetes, los hemos visto antes, ¿verdad?
Los vimos cuando trabajamos con cadenas y, al igual que las listas de cadenas, son bastante similares en que podemos usar la
división de listas.
Si recuerdas, con el corte de cadenas, tuvimos cosas como hola y pudimos asignar en una cadena, digamos una cadena variable,
y podríamos hacer una cadena y luego cortar.
Entonces haz algo como esto.
Donde tuvimos el inicio, la parada y luego el paso a través de modo que comenzamos con el índice de cero y terminamos en el
índice de dos.
Y luego vaya uno por uno, para que la división de listas también esté disponible para nosotros, así que hagamos este carrito un
poco más grande y usted puede hacer las cosas más limpias al formatearlo de esta manera.
Muy bien, entonces, ¿qué debemos agregar a nuestro carrito?
También agregaremos algunos juguetes y luego ya sabes qué, Amazon hace comestibles ahora.
Así que agreguemos unas uvas deliciosas.
Impresionante.
Ahora, digamos que quería tener todos los artículos en el carrito mientras simplemente hacemos esto.
Y tenemos nuestra lista completa, pero usemos algunos segmentos de lista, digamos que quería tomar del primer elemento al
segundo elemento si hago clic en ejecutar.
Consigo cuadernos y gafas de sol.
Tal vez quiera ir hasta el final, pero saltarme cada segundo.
Consigo cuadernos y juguetes.
Empezamos cero.
Nos acercamos a los juguetes y nos acercamos y terminamos.
Impresionante.
Y esto es algo que ya hemos visto al hablar con cuerdas.
Está bien, pero aquí es donde se pone interesante.
Recuerda cómo dije que las cuerdas son inmutables.
Eso significa que no podemos cambiarlos.
Derecha.
Y hablamos de esto cuando teníamos una cadena como hola, no podía hacer gret cero igual a, digamos
Z.
Obtendría un error aquí.
Recibo un objeto SDR que no admite la asignación de artículos.
Es inmutable.
Pero lo interesante de las listas es que son mutables.
Así que si cambio mi carrito de Amazon.
Y digan que, ¿saben qué? En realidad no quiero cuadernos, así que voy a agarrar el
primer elemento, que es el cuaderno y, en lugar del cuaderno, ¿qué queremos?
Diremos que queremos una nueva computadora portátil.
Es una gran mejora.
Cuando imprimo este carrito de Amazon.
Mira eso, puedo cambiar esta lista.
Y no me dio un aire en ese sentido, las listas son inmutables, simplemente las reemplazamos en la estantería de memoria de
nuestras computadoras portátiles y yo digo, oye, cámbielas a laptop, y nos dejan hacer eso.
Bien, eso es asombroso.
Pero intentemos algo aquí.
¿Qué pasa si creo otra impresión aquí y en el carrito de Amazon, usaré la división de listas para decir que quiero un
elemento del índice de uno hasta el índice de tres?
Ejecutemos esto y veamos qué sucede.
Intenta adivinar.
¿Es eso lo que esperabas?
Repasemos este código cuando lleguemos a la línea diez, agarramos el carrito de Amazon, que se ha actualizado con una
computadora portátil y agarro el artículo uno.
Dos, tres, eso son gafas de sol.
A los juguetes, entonces cero uno dos, y luego nos detenemos en tres.
Solo para que esto sea más fácil de entender, comencemos con cero aquí.
Para que veamos que se ha cambiado el portátil.
Y luego aquí, en el segundo, en la línea 11, imprimimos el carrito de Amazon.
Pero espere un segundo, esta lista no cambió, y eso se debe a que con la división de listas, estamos creando una
nueva lista, una nueva copia de esta lista.
Así que aquí estamos creando una lista completamente nueva para poder asignarla a una variable.
El carrito nuevo será el carrito de Amazon.
Y hagamos lo mismo aquí.
Y New Kaat es una lista completamente nueva por sí sola, podría cambiar una nueva tarjeta, digamos cero en, digamos
chicle.
Y si imprimo esto.
Verá que tengo dos nuevas listas separadas, pero una lista es mutable porque puedo cambiar lo que sea que esté
en el índice en cualquier momento que quiera, y cada vez que hacemos la división de la lista, creamos una nueva copia de esa lista.
Pero tengo una pregunta difícil para ti aquí, ¿qué pasa si simplemente hago esto?
Si ejecuto esto.
Mmm.
¿Viste eso?
En lugar de cortar mi lista, simplemente dije que la nueva tarjeta equivaldrá al carrito de Amazon.
Y cambié un nuevo índice KAAT de cero para que sea igual a Gump, pero ahora mi carrito de Amazon también se modificó.
¿Porqué es eso?
Y esta es una pregunta un poco complicada que puede encontrar en una entrevista.
La razón es que en este momento, la forma en que lo hice es igual a significa que, oye, la nueva tarjeta va a ser igual a la
tarjeta de Amazon.
¿Y a qué equivale el carrito de Amazon?
Bueno, el carrito de Amazon apunta en algún lugar de la memoria de nuestras máquinas que dice, oye, esto es lo que es el carrito
de Amazon.
Entonces, porque aquí no estamos copiando la lista.
En cambio, solo estamos diciendo, oye, el valor de una nueva tarjeta es lo que esté en la memoria del carrito de Amazon.
Ahora, cuando modificamos Nikhat, simplemente estamos cambiando el carrito de Amazon desde aquí.
Entonces este es un concepto importante.
Si quieres, digamos, copiar una lista, entonces haz algo como esto.
Donde copió la lista completa y esto es algo que verá mucho en las bases de código.
Pero esta línea dice, oye, quiero crear una lista de uso de copia para copiar este carrito de Amazon y será igual
a un nuevo carrito, así que ahora si ejecuto esto.
Verá que el carrito de Amazon original sigue siendo el mismo, pero el nuevo carrito ahora es algo diferente.
Este es un problema rápido.
Solo tienen que acostumbrarse, pero es un concepto importante, esta idea de copiar versus modificar la lista,
y es algo que exploraremos un poco más en los próximos videos.
Por ahora, tómate un descanso y lo veré en el próximo.
Adiós.