🇪🇸 Uso eficiente de estructuras de datos en Python
Summary:
Imagina que eres administrador de una biblioteca con millones de registros de libros que aumentan exponencialmente. En este video, te muestro cómo manejar eficientemente estos datos utilizando listas, arreglos y, especialmente, diccionarios en Python. Aprenderás cómo buscar libros de manera eficiente y cómo el uso de diccionarios puede facilitar esta tarea. ¡No te lo pierdas!
Transcript:
0:00: Imagínate que tú eres administrador de una biblioteca, de las más importantes de Estados Unidos, por ejemplo, ABA, American Book Association, y tienes más de dos millones de registros de libros, y cada año está aumentando de manera exponencial por la IA, están agregándose medio millón, y se estima que
0:25: para el año 2030 vas a tener más de 500 millones de libros y cómo va a Vamos a poder manejar todos esos datos de manera eficiente y todo lo usas list, arreglos, básicamente para poder buscarlos, no way, de ninguna manera, correcto, para ello están las estructuras de datos, no solamente todo es arreglo
0:49: , sino también hay otra estructura que nos puede ayudar muchísimo y aquí les voy a mostrar. Aquí estamos. Muy bien. Ya conocemos el muy clásico arreglo, como ya les comenté.
1:08: Y este arreglo, por ejemplo, yo puedo tener mi arreglo aquí, como pueden ver, Books, 101 cuentos, Curso de Relámpago de Tropaldía, Site Building, que es de mi libro, yo se de paso, de Improguide, y solamente agrego.
1:22: Book.appends, o puedo agregarlo de esa manera también. Y listo, ya lo agrego. No, puedo eliminarte de mí. Me sirve muy rápidamente.
1:30: cuando quiero hacer un CRUD. Pero, ¿qué pasaría si es que yo quiero buscar libros, o si quiero, por ejemplo, este libro no me sirve de nada si no tiene su ISBN, correcto?
1:44: Entonces debería tener esa ISBN, tiene una edad, tiene una fecha, tiene no solamente su ISBN, sino que también la cantidad de páginas que tiene ese libro.
1:57: Entonces, un arreglo nos queda muy corto. y para ello podemos usar diccionarios porque en diccionarios podemos declarar de esta manera a través de un arreglo como tal, un arreglo de diccionario como tal donde podemos tener su ICBN, el ICBN correspondiente, el título, el autor, etc, etc, etc y podemos
2:17: imprimirlo, estoy usando una librería pprint y aquí lo pueden ver aquí está todo puedo también, o si no también puedo iterarlo rápidamente.
2:30: Acá hay otra manera de imprimirlo, pero acá solamente estoy imprimiendo el ICBN en formato de objeto. Ahora, el tema es cuando yo, por ejemplo, acá hay otra manera como yo lo estoy representando con objetos ICBN, pero el problema es cuando yo quiero buscar este ICBN, ¿no?
2:50: Por ejemplo, quiero añadir un nuevo ICBN o encontrar a partir de un ICBN saber de qué libro es. Es muy fácil, lo único que hay que Lo que hay que realizar es decrear la variable y se van a encontrar cuál es el ICBN, este ICBN puede ser a través de POS, a través de un campo de texto, etc, etc, o un API
3:13: . Y luego, lo que estoy haciendo aquí es básicamente usar el Boostick, bueno que es la variable que había almacenado todos los libros, y a través del método gets, el cual usa un método de hashing.
3:32: que lo que hace es buscar este ICBN y rápidamente lo ubicar porque todos son objetos como puedes ver acá y al ser un objeto uff va a encontrar rápidamente por ejemplo voy a encontrar el 978006 que este es mi libro que aquí está que es el bueno no es mi libro es este de Aquí está y automáticamente lo
4:04: encuentra. Voy a poner mi libro para hacerlo de muy buena referencia. Voy a copiar y pegar esto, pegarlo y listo.
4:16: Acá está mi libro, Curso Relámpago Triple 16 Building. Lo encuentra, tenemos el libro como tal, el diccionario libro, acá está el diccionario libro que básicamente obtendríamos todo esto acá, obtendríamos y listo y en el book si lo encuentro bueno pone el encontrado pues no si se equivoca o se me equivoco
4:39: al tipear obviamente va a decir que no fue encontrado y ya está sumamente sencillo y esa es la manera más eficiente de poder buscar un libro en diccionario y recordemos que en el diccionario Si usamos alguna consulta de SQL, que en su mayoría de ellos, todos los Todas estas librerías usan el diccionario
5:05: como tal, entonces vamos a tener en un arreglo con valor, llave, valor, todos estos elementos y rápidamente con el método get podemos obtener a partir del key, obtener el valor como tal, la fila como tal, el diccionario como tal, siempre y cuando le vamos a convertir obviamente a llave de valor.
5:31: Ya hay valor y el valor va a ser todo el diccionario como tal. Y así rápidamente podemos obtener y buscar un libro.
5:38: Y ese es un ejemplo muy práctico y de la vida real. Y espero que esto les haya gustado. Este es uno de los grandes beneficios de cómo usar de manera sabia la estructura de datos.
5:51: Específicamente diferenciar un arreglo con el set. cómo nos puede ayudar rápidamente, bueno, no sé, el diccionario cómo nos puede ayudar rápidamente.
6:06: El list nos va a ayudar a poder visualizar, eliminar rápidamente con pop o agregar merch, filtrarlos, ordenarlos, pero no tanto para las búsquedas.
6:21: Si atienes un elemento sumamente clave, usa el diccionario como tal, y te va a beneficiar muchísimo. Y la eficiencia del algoritmo es O elevado a, a la 1, bueno, no n, porque si no, sería una búsqueda lineal y esa no es una búsqueda lineal, esa es una búsqueda por el método hash.
6:43: Espero les haya gustado y ahí estaré compartiendo más. Bye!