Diccionarios en Python: Crear, acceder, modificar y sus métodos

Diccionarios en Python: Crear, acceder, modificar y sus métodos

octubre 5, 2018 0 Por Pyromaniac

 

Cargando Diccionarios
 
-Comienza ya, jooodeeer! Que están pesados!

En esta entrada vamos a ver el uso de diccionarios en Python 3, que nos van a ser realmente muy útiles y nos van a permitir almacenar valores ordenados mediante claves.
Los diccionarios nos permiten ordenar muchos datos de manera más comprensible y sencilla!

 

 

 

¿Que es un diccionario en Python?

Los diccionarios son estructuras de datos utilizadas para mapear claves arbitrarias a valores.

En la definición son importante las siguientes palabras : Estructuras, mapear, claves, valores. Y ahora te voy a mostrar porque 😉

Con estructura de datos nos referimos a un orden predeterminado que nos permite mapear (crear una base de datos ordenada gráficamente) valores mediante pares “clave – valor”.

De esta forma podremos guardar “Valores” (Por ejemplo: Juan, 55, Masculino, Si, No, 4, $16000) en “Claves” (Por ejemplo: Nombre, Edad, Genero, Hijos, Casado, Cuantos Hijos, Ingresos) de una manera mas ordenada y accesible.

Imagina que debes realizar una encuesta a 100 personas, y vas por ahí en la calle con todas esas planillas mientras llueve. Obviamente debes tener un apartado para identificar a la persona por su nombre, edad, sexo, etc. Estos son claves: Nombre, Edad, Genero. Y cuales sean los de la persona son valores: Margarita, 55,  Femenino.

Mediante un diccionario podrías ordenar estos datos de esta manera:

 

Clave (Key)
Valor (Value)
NombreMargarita
Edad55
GeneroFemenino

Esto que hicimos anteriormente podría verse como “Mapeo de Datos“, que significa ordenarlos gráficamente para que sean mas accesibles y no nos causen un dolor de cabeza cuando nos pregunten la edad de Margarita entre 100 personas mas y tengamos que buscar entre 100 hojas todas mojadas, arrugadas y manchadas con café.

Margaritaaaaa!!

-Jodida Margarita ¿Donde te has metido!!?

Bien, supongo habrás entendido la finalidad de los diccionarios, imagina tener que ordenar miles de datos.. Y para eso justamente es útil la programación, sea cual sea el lenguaje. Don’t panic! Organize!!

Vamos a ver como crear un diccionario en Python finalmente, para agregar algunos datos y acceder a ellos, pero esta vez lo haremos desde el IDE, así que abre Geany y deja de pensar en ella (Margarita).

Espero no enfrentar ninguna clase de demanda por esto!

 

 

Sintaxis de un Diccionario:

Para crear un diccionario lo hacemos igual que si declaráramos una lista. El nombre del diccionario seguido del identificador =y luego entre llaves { } agrupamos Clave : Valor separadas por comas, así:

MiDiccionario = {'Nombre' : 'Margarita', 'Edad' : 55, 'Genero' : 'Femenino'}

En el código anterior tenemos resaltadas con negritas las Claves, y sin negritas los valores. Utilizamos comillas simples para aquellos datos que son texto.

 

MiDiccionario = {clave1 : valor, clave2 : valor, clave3 : valor }

 

Yo en mi caso particular cuando trabajo con diccionarios trato de ordenarlos en mi código fuente de la siguiente manera:

MiDiccionario = {
'Nombre' : 'Margarita',
'Edad' : 55,
'Genero' : 'Femenino'
}

Entonces se ve mas limpio, accesible, ordenado gráficamente y luego a la hora de editar código lo tendremos mas fácil. En este caso es un diccionario pequeño, con pocas claves, pero si fuera el caso de tener 100 claves y valores haciéndolo de esta forma evitamos confusiones y es mas probable no olvidemos ninguna coma ni comillas.

Una vez creado el diccionario y ubicada Margarita debemos acceder a el.


Accediendo a un diccionario

 

Como vimos almacenamos datos y olvidemos por un momento que son solo 3 datos y imaginemos que fueran miles de datos sobre una persona en particular y debemos “escarbar” allí para solo retirar uno. Por ejemplo si tiene mascota, quienes son sus padres, etc. Hagamos una planilla completa de nuestra querida Margarita!! Venga, nos lo va a agradecer algún día!! Venga ya ese código maestro!

MiMarga = {
'Nombre' : 'Margarita',
'Apellido' : 'Filosa',
'Alias' : 'Cuchillos',
'Padres' : ["Maria Chaira", "Carlos Cortez"], #<-------heee! ¿Que paso aqui?
'Edad' : 55,
'Genero' : 'Femenino',
'Estado Civil' : 'Soltera',
'Hijos' : 'Ninguno/a',
'Mascotas' : 'Gatos',
'Nombres de mascotas' : ["Mango", "Doble Filo"#<-------heee! ¿es una lista?
}

 

Ejemplo Diccionario en Geany

Como ves hemos colocado una lista dentro de la clave ‘Padres’ y ‘Nombres de mascotas’, esto es posible y también muy útil para poder almacenar varios valores en una misma clave!!

Ahora una vez que almacenamos los datos en el diccionario vamos a acceder a ellos para eso hay diferentes formas, supongamos que queremos imprimir solo el apellido de Margarita, lo hacemos utilizando la Funcion print:

Debajo del código colocamos un print seguido del nombre que le dimos al diccionario en este caso Mimarga y luego entre corchetes la clave a la que queremos acceder, que en este caso como dijimos anteriormente sera su apellido.

print (MiMarga ['Apellido'])

Recuerda que todos los elementos seguidos de la función van entre paréntesis!!

Y guardamos nuestro código como diccionario.py, luego a ejecutarlo!! Si aun no sabes guardar y ejecutar archivos de python puedes repasar esta entrada: Ejecutar archivos .py

El resultado:


Accediendo a listas dentro de diccionarios.

 

Y aquí solo faltaría cambiar la “clave” para imprimir cualquier otro dato que quieras, pero que sucede con aquellos que almacenamos como listas dentro del diccionario?

 

Pues muy fácil, de la misma manera que utilizamos antes para imprimir el valor de una clave , pero añadiendo los indices de la lista que queremos imprimir!

Ejemplo con los padres de Margarita que están almacenados en la clave Padres, y le dimos una lista como valor:

 

print (MiMarga ['Padres'][0:2])

Aquí indicamos que nos imprima los indices desde el 0 al 2 para que nos imprima el nombre del padre y de la madre. Los corchetes indicando los indices deben ir seguido de la clave que almacena la lista.

 

Resultado:


Modificando datos del diccionario

Vamos a ver ahora las intrusiones para modificar elementos de nuestros diccionarios!

Agregar, reemplazar y modificar elementos de un diccionario:

Bien anteriormente creamos un diccionario como una ficha completa de Margarita:

MiMarga = {
'Nombre' : 'Margarita',
'Apellido' : 'Filosa',
'Alias' : 'Cuchillos',
'Padres' : ["Maria Chaira", "Carlos Cortez"],
'Edad' : 55,
'Genero' : 'Femenino',
'Estado Civil' : 'Soltera',
'Hijos' : 'Ninguno/a',
'Mascotas' : 'Gatos',
'Nombres de mascotas' : ["Mango", "Doble Filo"]
}

Vamos a agregar ahora a esta ficha la clave “Ingresos” y el valor “$16000” recordando que en los diccionarios las claves son únicas, es decir, como la clave Ingresos no existe esta se añadirá, pero si ya existiera solo se modificaría el valor. La agregamos utilizando la siguiente sintaxis:

NombreDelDiccionario[clave] = valor

En nuestro caso:

MiMarga['Ingresos'] = '$16000'

Ahora, si quisiéramos modificar el valor de los ingresos de Marga de $16000 a $20000 solo deberíamos utilizar el código anterior pero asignando el nuevo valor:

MiMarga['Ingresos'] = '$20000'

Al ser la misma clave, solo cambiara el valor. ¿Pero si quisiéramos cambiar la clave Ingresos por Salario por ejemplo?

Normalmente para modificar una clave, sin iterar (recorrer usando bucle for in) podemos hacerlo utilizando el método pop del cual hicimos uso en Listas y Tuplas. Venga cambiemos esa clave…

MiMarga['Salario'] = MiMarga.pop('Ingresos')

Este código le indica al interprete como podemos ver, que añada la clave ‘Salario’ eliminando la clave ‘Ingresos’. Entonces en realidad no estaríamos modificando la clave, sino reemplazándola conservando su valor 😉

Para eliminar un par (clave : valor) podemos recurrir a la función del:

Es importante que recuerdes que DEL es una función, por lo que el nombre del diccionario y la clave deben encontrarse entre paréntesis como te resalte mas arriba. DEL es una Función Predefinida al igual que print!


Métodos de los diccionarios

 

Como vimos anteriormente en las listas, en el caso de los diccionarios también podemos hacer uso de los métodos, si aun no sabes que es un método puedes verlo en esta entrada sobre las listas y tuplas donde los utilizamos por primera vez.

Hay muchos métodos tanto para las listas como para los diccionarios, pero por lo pronto vamos a ver solo aquellos que utilizaríamos normalmente para no confundirnos!

Método get (Que en español se traduce como “Obtener”)

El método get() nos sirve para obtener por ejemplo el valor de una clave determinada, entonces le indicamos al interprete hey! Muéstrame el valor de la clave ‘Nombre’ y nos lo imprimirá en pantalla, veamos:

MiMarga.get('Nombre', "valor por defecto, por si la clave no tiene uno")

Resultado: ‘Margarita’

Utilizando el método solamente no nos imprimirá el resultado, para solucionarlo podemos meterlo dentro de un print, así obligamos al interprete a mostrar el resultado del método get:

print (MiMarga.get('Nombre', "No tiene nombre"))

Resultado: ‘Margarita’

O bien almacenándolo en una variable y imprimiendo la variable:

elnombre = MiMarga.get('Nombre', "No tiene nombre")

print (elnombre)

Y en este caso si la clave ‘Nombre‘ no existiera nos mostraría “No tiene Nombre”!

Método keys y values (Que en español se traduce como “Claves y Valores”)

El método keys() nos servirá para imprimir solo las claves del diccionario!

Y el método value() nos permite imprimir solo los valores!

claves = MiMarga.keys()
Resultado: dict_keys([‘Genero’, ‘Mascotas’, ‘Nombres de mascotas’, ‘Nombre’, ‘Alias’, ‘Apellido’, ‘Hijos’, ‘Edad’, ‘Salario’, ‘Estado Civil’, ‘Padres’])

valores = MiMarga.values()
Resultado: dict_values([‘Femenino’, ‘Gatos’, [‘Mango’, ‘Doble Filo’], ‘Margarita’, ‘Cuchillos’, ‘Filosa’, ‘Ninguno/a’, 55, ‘$16000’, ‘Soltera’, [‘Maria Chaira’, ‘Carlos Cortez’]])

 

Y esto ha sido todo! Se ha echo largo igual que con las Listas y Tuplas, pero bien completito!! 🙂

Adiooos! Te invito a crear un diccionario como el que hicimos de Margarita pero tuyo propio, con tus datos y jugar a imprimirlos! Espero te halla sido de utilidad y nos vemos en la siguiente entrada! Bye bye!

 

 

 

Suscríbete al blog por correo electrónico!

Introduce tu correo electrónico para suscribirte a este blog y recibir notificaciones de nuevas entradas.

 

Resumen
Diccionarios en Python: ¿Qué son? ¿Como los utilizamos?
Nombre del Articulo
Diccionarios en Python: ¿Qué son? ¿Como los utilizamos?
Descripción
En esta entrada vemos como crear un diccionario y su correcta sintaxis: MiDiccionario = { 'Nombre' : 'Margarita', 'Edad' : 55, 'Genero' : 'Femenino' } También veremos porque son importantes y en que casos podemos utilizarlos. Visita esta entrada para indagar mas sobre su uso y aplicación.
Autor
Editor
Pythones
Editor Logo