Diccionarios en Python Lenguaje
Un diccionario en Python es una colección de información en pares en el formato key:values. La sintaxis correcta es { key : value }
El diccionario en Python también almacena múltiple información como las Listas, pero con la diferencia que los diccionarios no utilizan números en sus índices, sino que los índices son las keys.
Al mismo tiempo, las keys de los diccionarios son establecidas manualmente, al contrario que los índices en las listas que son asignados automáticamente por Python.
Las keys en un diccionario NO se pueden duplicar, es decir deben ser UNICAS.
Py
coche = {'marca':'Renault','color':'rojo','motor':1.6}
Las keys en el ejemplo anteriror serían – marca, color, motor – por lo que no podría haber – marca o color – más de una vez. Por eso se dice que son únicas.
Crear un diccionario en Python
Existen varias formas de crear un diccionario en Python. Por un lado tenemos la opción del constructor dict( ) y por otro lado, el uso de las { }.
Py
# creamos el diccionario con el constructor dict()
fruta = dict( )
# mostramos en pantalla el tipo de dato que almacena fruta
print(type(fruta))
# tipo diccionario
<class 'dict'>
Como vemos arriba hemos creado un diccionario llamado – fruta – y le hemos asignado el constructor – dict ( ) . De esta forma creará un diccionario vacío sin elementos.
Al usar print(type(fruta)) queremos que se nos muestre el tipo de – fruta – en pantalla y nos da como resultado < class ‘dict’> indicando que es un diccionario.
Py
# creamos el diccionario {}
fruta = { }
# mostramos en pantalla el tipo de dato que almacena fruta
print(type(fruta))
# tipo diccionario <class 'dict'>
En este segundo método utilizamos las { } en lugar de dict( ). Y todo lo demás es exactamente igual al caso anterior.
Se crea un diccionario vacío sin elementos llamado – fruta.
Al usar print(type(fruta)) queremos que se nos muestre el tipo de – fruta – en pantalla y nos da como resultado < class ‘dict’> confirmando que es un diccionario.
Acceder a un diccionario en Python
Para entender cómo accedemos a los elementos de un diccionario en Python, la sintaxis es dict[key].
Py
Py
# Supongamos que tenemos un diccionario
numeros = { 'uno':'one', 'dos':'two', 'tres':'three' }
# Si queremos acceder al valor three
numeros['tres']
# En pantalla se mostrará
three
En el ejemplo anterior para la key – uno – tenemos el valor – one, etc. Por lo tanto para key tres tenemos el valor three.
Si por error pasamos una key que no es parte del diccionario, Python nos devolverá un mensaje de error – KeyError ‘wrong key entered’
Añadir elementos a un diccionario en Python
Tenemos varias formas de añadir elementos a un diccionario en Python. La primera opción es con la sintaxis siguiente: diccionario[key] = value.
Py
# Supongamos que tenemos un diccionario
numeros = { 10:'diez', 20:'veinte', 30:'treinta', 40:'cuarenta' }
# Si queremos añadir otro elemento
numeros[50] = 'cincuenta'
# Si imprimimos numeros
numeros = { 10:'diez', 20:'veinte', 30:'treinta', 40:'cuarenta', 50:'cincuenta }
El otro método para añadir elementos a un diccionario es con el método update ( ).
La sintaxis del método update es diccionario.update({key:value}) . Es importante mencionar que el argumento que pasemos dentro del paréntesis de update debe estar entre { }.
Py
# Vamos a definiar un diccionario llamado coche
coche = { 'marca':'Fiat','color':'Verde','puertas':'tres' }
# Añadimos un nuevo elemento a coche con update()
coche.update({'motor':'gasolina'}
# Por tanto coche quedaría así
coche = { 'marca':'Fiat','color':'Verde','puertas':'tres','motor':'gasolina' }
Si tuviesemos que añadir más de un elemento con el método update ( ), se puede hacer asignandoles una variable y luego insertar la variable dentro de los paréntesis de update.
Py
# Vamos a definir un diccionario llamdo coche
coche = { 'marca':'Fiat','color':'Verde','puertas':'tres' }
# Añadimos un nuevo elemento a coche con update().
# Asignamos los nuevos valores a la variable nuevo_coche
nuevo_coche = {'motor':'gasolina','año':2010}
# Actualizamos el diccionario
coche.update(nuevo_coche)
# coche quedaría así
coche = { 'marca':'Fiat','color':'Verde','puertas':'tres','motor':'gasolina','año':2010 }
Borrar elementos de un diccionario en Python
Veremos dos opciones de borrar elementos en un diccionario. pop ( ) y del ( )
Con el método pop ( ) quitamos el elemento del diccionario y devolvemos en pantalla el elemento que hemos quitado. Al utilizar pop() debemos pasar como argumento la key del elemento que queremos quitar.
Py
# En el ejemplo de coche quitaremos el valor de key -> color
coche = { 'marca':'Fiat','color':'Verde','puertas':'tres','motor':'gasolina','año': 2010 }
elemento_removido = coche.pop('color')
# al imprimir en pantalla
print(elemento_removido)
Verde
En cambio con el método del ( ) cuando borramos el elemento este no es devuelto en pantalla, como el caso de pop ( )
Con del ( ) también utilizamos la key del elemento que queremos quitar del diccionario.
La sintaxis de del () es del diccionario[key]
Py
# En el ejemplo de coche quitaremos el valor de key -> año
coche = { 'marca':'Fiat','puertas':'tres','motor':'gasolina','año': 2010 }
# quitamos el valor de la key -> año
del coche['año']
# al imprimir en pantalla
print(coche)
{ 'marca':'Fiat','puertas':'tres','motor':'gasolina'}
Leer elementos de un diccionario en Python
Hay varias formas de leer los elementos de un diccionario.
dict.items( ) -> este método nos devuelve tanto las keys como los values del diccionario.
dict.keys( ) -> nos devuelve solamente las keys del diccionario
dict.values( ) -> nos devuelve solamente los values o valores del diccionario
Py
#supongamos que tenemos un nuevo diccionario llamado cadena
cadena = {1:'uno',2:'dos',3:'tres',4:'cuatro',5:'cinco'}
# Si queremos extraer la información de cadena con dict.items( )
for key,value in cadena.items( ):
print(key,':',value)
# en pantalla mostrará
1:uno
2:dos
3:tres
4:cuatro
5:cinco
# Si queremos extraer la información de cadena con dict.keys( )
for i in cadena.keys( ):
print(i)
# en pantalla mostrará
1
2
3
4
5
# Si queremos extraer la información de cadena con dict.values( )
for i in cadena.values( ):
print(i)
# en pantalla mostrará
uno
dos
tres
cuatro
cinco
En definitiva, el diccionario en Python nos permite una gran variedad de opciones a la hora de manejarlos. Esta es una lección que los estudiantes del lenguaje Python suelen preguntar mucho, cuando empiezan a programar en este lenguaje.
Si queréis seguir aprendiendo a programar en Python, podéis encontrar más recursos en este enlace. Musa Arda
Creatuwebpymes, es una empresa de Diseño y programación de páginas web en Canarias que ❤️ la programación.
Otras entradas del Blog
Dibujar con Python un cuadrado con la librería Turtle es un ejercicio que se suele plantear a los estudiantes del lenguaje Python cuando empiezan a programar en este lenguaje.
Si queréis seguir aprendiendo a programar en Python, podéis encontrar más recursos en este enlace.
Creatuwebpymes, es una empresa de Diseño y programación de páginas web en Canarias que ❤️ la programación.