‫Y en los últimos videos hablamos sobre tablas hash, por lo que en esta lección, discutiremos cómo se ve
‫la versión genérica de las tablas hash y la versión genérica de la tabla hash es el diccionario.
‫Entonces, veremos cómo usar los diccionarios en este video.
‫De manera similar a una tabla hash, un diccionario almacenará su valor y un par de valor
‫clave como teníamos con el diccionario, justo donde dijimos que el par de valor clave para auto sería car.
‫Bien, entonces la clave sería auto, que es la palabra alemana para automóvil, y luego automóvil será el valor que
‫está dentro de este diccionario.
‫De acuerdo, eso es un diccionario del mundo real y un diccionario alemán-inglés, por ejemplo.
‫Pero ahora usaremos el diccionario de programación.
‫Por lo tanto, los diccionarios de C agudo que tienen un par de valores clave como el que tenemos aquí, donde almacenamos el valor asignado en
‫una clave específica.
‫Bien, sigamos adelante y definamos un diccionario.
‫Entonces, a partir de la documentación de Microsoft, el diccionario se define como muy bien, por lo que se verá algo
‫así como el valor de teki te del diccionario.
‫Entonces, lo que eso significa básicamente es que necesitamos especificar los tipos de nuestras claves y valores en la declaración
‫de manera similar a cómo lo hicimos, por ejemplo, para una lista.
‫Bien, entonces una lista también necesitaba tener un tipo específico.
‫Una lista podría ser de tipo entero, podría ser de tipo cadena, podría ser de tipo objeto, etc.
‫Pero necesitábamos definir de qué tipo debe ser esta lista.
‫Lo mismo ocurre con el diccionario, pero no lo son.
‫Tenemos que definirlo tanto por la clave como por el valor.
‫Bien, eso es básicamente lo que esta T. S. UNA. significa valor.
‫Bien, eso significa que tenemos mucha flexibilidad, pero no la flexibilidad que teníamos en la tabla
‫hash.
‫Así que básicamente podemos seguir adelante y crear un diccionario como este aquí donde decimos que la clave será de
‫tipo en ditcher y el valor será de tipo cadena.
‫Y, por supuesto, para usar diccionarios, debemos asegurarnos de que tenemos un sistema de uso que recopila esas
‫colecciones genéricas.
‫Entonces ves que un diccionario es una colección genérica.
‫Vimos en otro video que hay una diferencia entre colecciones genéricas y no
‫genéricas o tablas hash en colecciones no genéricas y los diccionarios son colecciones genéricas.
‫Entonces tienen todas las ventajas y desventajas.
‫Así que ahora este diccionario tendrá un entero, un número, por así decirlo, y un valor que será una cadena, por lo que
‫el número será la clave y la cadena será el valor.
‫Ahora, aquí estamos creando este diccionario llamado Mi diccionario, y lo estamos inicializando
‫con un diccionario vacío en este punto, luego podemos seguir adelante y usar este diccionario para que podamos agregar
‫valores a ese diccionario.
‫Por ejemplo, también podemos definir directamente los valores del diccionario.
‫Así que en la misma línea, básicamente aquí mismo.
‫Entonces podríamos, por ejemplo, simplemente decir, OK, así será como se verá el diccionario.
‫Donde tenemos un animador y una cuerda.
‫Así que tenemos el que es este animador aquí, la clave y el que es el texto sería el
‫valor.
‫Así que ahora tenemos el tipo animador y luego la palabra inglesa hablada para lo que sea, enteros.
‫Bien, entonces uno sería uno, dos serían dos, tres serían tres y así sucesivamente.
‫Ahora, por supuesto, los diccionarios no se limitan a números enteros y las cadenas pueden usar valores mucho más complejos.
‫Estamos almacenando.
‫Bien, por ejemplo, consideremos sin disco aquí.
‫Entonces estoy creando una nueva clase llamada Empleado.
‫Lo voy a poner en el mismo archivo.
‫Pero, por supuesto, puede crear un archivo separado.
‫Así que tenemos algunas propiedades como función, nombre, edad y tarifa para cada empleado.
‫Bien, y luego tenemos el salario, que es un flotador, y devuelve la tasa de ocho veces, cinco por
‫cuatro por doce.
‫Bien, cualquiera que sea la tasa de veces, este valor será lo que vamos a almacenar u obtener como
‫salario.
‫Entonces, si tuviéramos que recuperar el salario, calculará directamente el salario para nosotros.
‫Eso es ocho horas, cinco días, cuatro semanas, 12 meses.
‫Así es como se va a calcular básicamente el salario anual, por así decirlo.
‫Por supuesto, multiplicado por la tasa.
‫Así que ahora digamos que tenemos una base de datos de empleados como Let's.
‫Supongo que esta será nuestra base de datos de empleados y, por cierto, me acabo de dar cuenta
‫de que me perdí la tasa aquí al crear el constructor.
‫Entonces, este constructor también usará la tasa ahora y asignará la tasa aquí y ahora podemos usar nuestros datos de
‫la base de datos.
‫Bien, tenemos la base de datos donde obtenemos el título, obtenemos el nombre, obtenemos el qué es,
‫la edad súper anciana, 95 años.
‫Y luego tenemos su tarifa.
‫Entonces ella tiene una tasa de doscientos.
‫Luego tenemos al gerente, Joe, que tiene 35 años, tiene una tasa de 25 y así sucesivamente.
‫Así que ahora lo que voy a hacer es no usar este diccionario aquí, voy a
‫crear un diccionario separado al que llamaré directorio de empleados, y ese directorio de empleados básicamente tendrá un valor
‫clave par de empleado de cadena.
‫Por lo tanto, almacenará para una cadena específica todo el objeto de empleado.
‫Y voy a llamar a este directorio de empleados.
‫Está bien, y la cadena que usaremos será el rol de los empleados.
‫Bien, aquí voy a usar esto para cada ciclo que ahora pasará por cada empleado en mi base
‫de datos de empleados.
‫Así que esta es la base de datos de mis empleados.
‫Lo estoy fingiendo, por así decirlo.
‫Derecha.
‫Pasará por cada elemento de esa base de datos de empleados y se agregará
‫a mi directorio de empleados en la posición o en la clave de la función, el empleado en sí.
‫Bien, aquí estamos, asumiendo que para cada función solo tenemos un empleado.
‫De lo contrario, esto arruinaría todo el sistema.
‫Este es un ejemplo de cómo podemos crear un diccionario con datos de una base de datos falsa,
‫que básicamente será una matriz de empleados que hemos definido aquí.
‫Entonces, ¿qué pasa si queremos obtener los datos de un diccionario?
‫Así que queremos obtener datos de un diccionario y digamos que queremos obtener datos del empleado que es
‫el director ejecutivo.
‫Entonces ese tiene el puesto de CEO.
‫Entonces podemos convertirnos en empleados.
‫Voy a llamar a este empleado y lo obtendremos del directorio de empleados.
‫Y aquí solo decimos, está bien, quiero tener al CEO.
‫Así que quiero conocer a la persona y tal vez también el objeto completo de esa persona que tiene a Zevo como
‫título.
‫Básicamente, solo digo que donde va a estar la clave el director ejecutivo de mis empleados del diccionario, tomen el directorio allí.
‫Quiero saber quién es el director ejecutivo y quiero almacenar a todo el empleado en un objeto para poder seguir
‫adelante y mostrar los detalles de ese empleado mediante una consola.
‫Derecha.
‫Declaración de línea como esa.
‫Entonces aquí digo que el nombre del empleado será, que será el nombre del empleado, luego el rol y el salario.
‫Entonces esto se mostrará.
‫Bien, básicamente obtendremos el salario según la tarifa y este cálculo aquí,
‫obtendrá el rol directamente y obtendremos el nombre directamente del objeto del empleado.
‫Entonces de este objeto de empleado.
‫Bien, ahora hagamos esto muy rápido y veamos qué va a ganar Quinn, considerando que trabaja a
‫tiempo completo y podemos ver que tiene un salario de RIANNE 84000.
‫Su nombre es Quinn, su función como directora ejecutiva.
‫Entonces, ejecutar este código funciona, como puede ver, no hay ningún problema aquí, pero el problema podría ser que
‫estamos ingresando un valor incorrecto.
‫Digamos que en lugar de CEO, estoy buscando al CTO, es decir, al oficial técnico.
‫Entonces el director técnico.
‫Y si ejecuto esto, verá que mi aplicación falla.
‫Entonces dice que CTO no estaba presente en el diccionario.
‫Así que nunca se dio la clave.
‫Entonces, para arreglar eso, básicamente podemos verificar si la clave existe.
‫Entonces, aquí, lo que sería una muy buena forma de verificar esto sería crear una clave llamada SEO o String llamada
‫Key, que tiene el valor de SEO.
‫Y luego revisamos el directorio de empleados.
‫Para esa clave en particular, aquí vemos que contiene clave es una de las opciones favoritas o favoritas aquí,
‫entonces contiene clave, y luego aquí podemos pasar la cadena que queremos verificar como clave.
‫Entonces, ¿contiene la clave llamada CEO?
‫Si es así, ¿ejecutar este código aquí?
‫Y si no es así, no lo ejecutes.
‫O, por supuesto, también podría decir que esta clave no existe.
‫Entonces, ahora podría crear una pequeña aplicación que le permitirá ingresar una clave y luego su aplicación
‫marcará, OK, ¿existe esto o no?
‫Y, por cierto, aquí, esto debería reemplazarse con key.
‫Ya no estará codificado de forma rígida.
‫Bueno, está codificado y en otro punto, por así decirlo.
‫Pero esto podría ser algo que obtenemos de la entrada del usuario o el usuario construido a partir de una interfaz de usuario o algo
‫así.
‫Y luego la aplicación recuperaría los datos y los mostraría en lugar de solo una nueva aplicación de consola en una interfaz
‫de usuario real.
‫Y luego verá cómo usar sus ojos o cómo construir sus ojos usando el.
‫Así que esa es una forma de solucionar el problema, otra forma sería usar algo llamado try get
‫value.
‫Bien, permítanme agregar rápidamente un poco de código y repasarlo.
‫Entonces, digamos que tenemos este empleado de MTA, al que llamo resultado, y está vacío porque lo
‫dije de vez en cuando. Estoy revisando el directorio de empleados si tiene el valor llamado inturn y estoy usando este método
‫try get value.
‫Así que intentemos y el método get value devolverá un booleano,
‫lo cual es genial porque eso es lo que le gusta tener a una instrucción if en la condición e imprimirá el resultado y pondrá el valor en result.
‫Entonces, este resultado en realidad será incompleto.
‫Así que intente obtener el valor, intentará obtener el valor que pasamos aquí y, si funcionó, el volumen volverá.
‫Verdadero.
‫Entonces esta declaración se ejecutará y al mismo tiempo se pondrá bien el resultado en esta variable.
‫Por tanto, el resultado se incluirá en esta variable de resultado.
‫Entonces, el valor que recuperemos de nuestro directorio de empleados se almacenará en el resultado.
‫Bien, eso es lo que dice esta declaración.
‫Y si funcionó, de hecho y a su vez existe, entonces este código se ejecutará y de lo contrario se
‫ejecutará este código.
‫Entonces esta clave no existe.
‫Así que esa sería solo otra forma de solucionar el mismo problema.
‫Así que intentar sacarle valor también funciona bien.
‫Pues bien, recuperaste a un empleado llamado Ernest Turn 22 y recibe un sueldo de mil euros al año o el
‫tipo de dinero del que quieras hablar aquí.
‫Bien, ahora profundicemos un poco más, porque también podemos obtener un elemento con el método del elemento at, por lo
‫que un elemento de nuestro diccionario.
‫Entonces, como aprendimos o como aprendieron, un diccionario usará estructura aquí.
‫Entonces, un diccionario es una colección de pares clave-valor, que es una estructura que se define
‫como un par clave-valor que se verá así aquí.
‫Así que veámoslo este año.
‫Entonces tenemos la clave y el valor.
‫Entonces este es el par clave-valor.
‫Eso es lo que contiene un diccionario.
‫Así que veamos esto para ver un bucle aquí y, por mi parte, puedes ponerlo aquí.
‫Entonces, este bucle for, lo que hará es usar este método de agregar elemento.
‫Sin embargo, para poder usarlo, necesitaremos implementar un enlace.
‫Entonces, por ahora, solo acepta que el enlace es una herramienta poderosa que nos permite trabajar con colecciones de una manera muy
‫eficiente.
‫Y tendremos un capítulo adicional más adelante donde veremos los enlaces específicamente.
‫Pero por ahora, aceptémoslo así.
‫Bien, una vez que llegue a los últimos capítulos, aprenderá más sobre esto y entonces esto tendrá más
‫sentido.
‫Bien, entonces en nuestro caso.
‫Y este ejemplo en particular donde tenemos nuestro par clave-valor con la clave y el valor donde Teekay.
‫Es el tipo de nuestras claves de nuestro diccionario y lo mismo ocurre con el valor de té, que es el
‫valor de nuestro diccionario ahora en nuestro caso, es cadena y empleado si lo miramos.
‫Bien, para nuestro diccionario que creamos aquí, es string y employee.
‫Pero internamente detrás de esta clave de cadena, también hay un valor entero, así que un número, por así decirlo.
‫Bien, digamos que en la posición cero será el puesto de CEO uno, el gerente en la
‫posición de H. R. persona, en el puesto tres, el secretario y así sucesivamente.
‫Está bien, a pesar de que todos estarán en la posición, así que en la clave de su función.
‫Pero internamente también se agregará un número.
‫Entonces, la clave también será un número internamente.
‫Entonces eso es exactamente lo que podemos usar para este elemento en este elemento.
‫Y si pasa el cursor, devuelve el elemento en el índice especificado en una secuencia.
‫Bien, entonces un diccionario es una secuencia, por lo que básicamente devolverá nuestra posición cero hemorrágica, nuestra posición de
‫empleado uno, posición dos y así sucesivamente.
‫Sin embargo, esto devolverá un par clave-valor.
‫De acuerdo, y el par clave-valor que vamos a crear aquí será un tipo cadena y empleado.
‫Entonces, ahora podemos mostrar la clave y luego podemos obtener el valor de nuestro empleado en nuestro par clave-valor en la posición
‫de valor.
‫Porque lo obtenemos de nuestro elemento en el trabajo.
‫Esto es un poco más complicado, pero básicamente es solo otra forma de acceder a un elemento dentro
‫de su diccionario, sin usar la clave como una cadena, sino la clave como un número entero.
‫Y esto se aplica a todos los tipos de claves.
‫Entonces, no importa qué tipo usaste para la clave, siempre hay un número asignado.
‫Entonces, incluso si esto era de tipo object o si era de tipo double o lo que sea, siempre
‫hay un número entero asignado, lo que nos permite colocar este elemento en I.
‫Bien, repasemos esto y verá que básicamente nos permitirá mostrar todos los empleados.
‫Entonces pasa por todos los empleados de nuestra lista.
‫Así que creo que llega hasta aquí.
‫Bien, entonces nos muestra todos los empleados que tenemos en su.
‫E incluso comienza un poco más arriba.
‫Entonces, esta es básicamente la lista que estamos obteniendo de este grupo.
‫Bien, entonces puedes usar un Falu para leer una lista completa de diccionarios.
‫Por supuesto, también puede usar A para cada bucle, pero también puede acceder a elementos usando el
‫elemento que I y luego puede almacenarlo y luego el objeto de empleado porque el valor será de hecho del tipo empleado
‫porque eso es lo que nosotros definir aquí.
‫Ahora, si miras la clave, vamos a ejecutarla de nuevo.
‫Puede ver aquí, CEO clave, gerente clave, HRR clave, secretaria clave, ahora, también podríamos imprimir el ojo si
‫quisiera.
‫Así que aquí.
‫Como, tan grandioso.
‫Bueno, en realidad, imprimamos aquí.
‫Yo es, y luego seré la segunda entrada así y luego imprimimos I.
‫De acuerdo, entonces puede ver directamente qué valor entero se asigna a una posición específica, por lo que el CEO está en la posición cero,
‫el gerente está en la posición uno, el H. R. persona es una posición y así sucesivamente.
‫De acuerdo, todo correcto.
‫Así que eso es todo por este video.
‫Creo que es un video lo suficientemente largo como para repasar diccionarios, al menos en este punto.
‫Entonces, en el siguiente video, veremos cómo podemos actualizar un diccionario existente para que podamos actualizar el valor
‫de un diccionario y luego también veremos cómo podemos eliminar datos de un diccionario.
‫Bien, nos vemos en la próxima.