¿Puedes creerlo?
Espero no haberte hecho dormir, pero ya casi llegamos.
Tenemos un último conjunto de tipos de datos principales y luego terminamos.
Sé.
Sé que este no es el tema más emocionante.
Créame, esta es la parte más difícil.
Cuando estás comenzando y estás aprendiendo estas cosas sin entenderlas, ¿por qué necesito esto?
¿Cómo voy a construir el próximo juego?
¿Cómo voy a construir el próximo Netflix?
¿Cómo voy a crear la próxima aplicación de Apple más genial?
Estás mirando esto y piensas, acabo de aprender un montón de teoría.
Siento que estoy en clase de matemáticas de nuevo.
Sé.
Confía en mí.
Pasé por esto.
También fui programador autodidacta.
Estos son los bloques de Lego que construyen nuestra base.
Una vez que los aprendamos, podemos pasar a cosas nuevas.
Y verás que una vez que escales esta pequeña montaña, las cosas se vuelven mucho más fáciles y te darás cuenta
del poder.
Cuando comencemos a construir estos proyectos hacia el final de la clase donde dirás, oh,
todos estos bloques que aprendimos, toda esta parte francamente aburrida tendrá sentido.
Así que aguanta.
Se supone que es difícil.
Se supone que es difícil, pero pronto verás por qué esto es tan poderoso y por qué
lo que acabamos de aprender nos permitirá construir cosas realmente increíbles y crear programas realmente increíbles.
Así que terminemos con el último, el último tipo de datos, la última estructura de datos que veremos en
Python, al menos de las principales.
Y se llama conjunto y los conjuntos son simplemente colecciones desordenadas de objetos únicos.
Mmm.
Echemos un vistazo.
Creemos una mentalidad y mi conjunto lo creamos con llaves como un diccionario, pero en lugar de un
diccionario, no tenemos pares clave-valor.
En cambio, solo tenemos valores como uno, dos, tres, cuatro o cinco.
Eso es todo, es un conjunto que acabamos de crear, pero recuerde, la definición que le di
es una colección desordenada de objetos únicos.
¿Qué significa eso?
Bueno, si imprimo esto y digo mi conjunto y hago clic en ejecutar.
Consigo un juego, pero si tuviera, digamos, otros cinco aquí y hago clic en ejecutar.
Solo devuelve los conjuntos únicos o los elementos únicos que ve en un conjunto, no hay duplicados.
Todo tiene que ser único.
Entonces, este fuego nunca se agrega a un conjunto, por ejemplo, puede agregar cosas a un conjunto como mi conjunto y
luego puedo decir agregar y darle un valor como cien.
Y luego digamos que hago mi anuncio de punto establecido y luego lo doy a si hago clic en, ejecutar aquí.
Veo que pude agregar cien, pero dos, bueno, dos no se agregaron realmente porque mi
dicho ya contenía esos datos.
Está desordenado.
Quiero decir, hemos creado uno, dos, tres, cuatro o cinco aquí, pero no hay un orden real.
No hay una estantería en nuestro espacio de memoria que esté una al lado de la otra.
Estos están por todos lados en la memoria.
Pero un conjunto puede encontrarlos porque todos son únicos.
Entonces están todos en una sola ubicación en la memoria.
Déjame preguntarte esto, y este será un pequeño ejercicio divertido.
Si te di una matriz.
Y digamos que esta matriz contenía, bueno, esto aquí.
Y quiero que devuelva una matriz sin duplicados, así que quiero todo en,
digamos, llamémoslo mi lista.
Y un programador ya ha creado esto.
Bien, y luego su tarea es crear o devolver una lista o una colección que solo tenga elementos únicos.
¿Cómo harías para convertir esto en un conjunto?
Bueno, hemos visto esto antes.
Tenemos una función de conjunto y simplemente envolvemos mi lista en ese conjunto.
Y eso está impreso.
Hago clic, corro.
Echale un vistazo.
Hemos formado un nuevo conjunto a partir de una lista.
Y eliminé todos los valores duplicados, ¿cuándo sería útil?
Imagínese si tuviéramos nombres de usuario, derechos o direcciones de correo electrónico donde recopilamos direcciones de correo electrónico en nuestra
página de inicio, pero no queremos tener correos electrónicos duplicados.
Es posible que deseemos convertir esta lista de correos electrónicos en un conjunto y eliminar los duplicados.
Por eso no enviamos correos electrónicos una y otra vez.
Eso es realmente genial.
¿Qué pasa con esto? ¿Puedo cambiar esto a un conjunto, así que llamémoslo mi conjunto?
Va a convertir esto en un conjunto.
Ahí tienes.
Y luego, ¿qué pasa si quisiera acceder a mi conjunto con un índice de cero?
Mmmm, el objeto de conjunto no admite la indexación.
Bueno, de nuevo, puedes pensar en él más como un diccionario para acceder a un conjunto, tenemos que agarrar el
elemento que está dentro.
Esa es la clave para obtener la información de la memoria.
La forma en que verificaríamos si algo existe es simplemente decir, oye, hay uno en mi conjunto y ejecutamos esto.
Y llegamos a.
También podemos hacer la duración de mi set y obtenemos cinco de nuevo, nada demasiado loco, pero uno, dos, tres, cuatro,
cinco.
Recuerde, solo cuenta las cosas únicas porque nunca se ingresará.
Es un set.
Y, alternativamente, también podemos convertir esto en una lista.
Si hago clic en ejecutar aquí, verá que ahora tengo mi conjunto como una lista.
Y luego también podemos hacer, digamos, mi hija de set copiar y realmente copiar mi set en algo,
digamos nuevo.
O nuevo conjunto, y luego este será completamente diferente o una nueva copia, luego esta original.
Así que probemos esto, este nuevo conjunto.
Si utilizo un método que es posible que hayamos visto antes, que es mi set dot clear, que como puedes imaginar, borra el
set y hago clic en ejecutar.
Tengo ese nuevo conjunto, pero cuando intento imprimir todo está listo, que era mi conjunto, estará vacío, un conjunto vacío,
pero el verdadero poder de los conjuntos entra en juego.
Los siguientes dos métodos que les voy a mostrar y conjuntos tienen bastantes métodos, pero no se preocupe, la mayoría
de ellos son bastante similares.
Exploremos eso en el siguiente video.