Los diccionarios en Python son estructura de datos que guardan objetos por clave en vez de su posición relativa. Las claves estan asociadas a valores que pueden ser números, cadenas, listas, etc.

Los diccionarios son mutables, es decir, que se pueden modificar en cualquier lugar y momento. Así también pueden crecer o reducirse, esto quiere decir, que pueden agregar nuevos pares de clave: valor o remover claves.

Los diccionarios son utiles cuando necesitamos asociar valores con claves para describir propiedades de algo. Por ejemplo los datos de un estudiantes.

Sintaxis

Para escribir un diccionario en Python puedes hacer uso de las llaves y dentro especificar los pares de clave: valor. Por ejemplo:

>>> estudiante = {
    'nombre': 'Salvador',
    'apellidos': 'Gonzales Landeo'
    'edad': 3,
    'promedio': 'AD',
}

Para acceder a los valores de un diccionario debemos hacer uso de los corchetes ([ ]) y dentro la clave. Por ejemplo:

>>> estudiante['nombre']
'Salvador'
>>> estudiante['edad']
3

Otra forma de acceder a un valor es haciendo uso del método get() al cual debemos pasarle la clave que queremos devolver.

>>> estudiante.get('apellidos')
'Gonzales Landeo'

Otra forma de escribir un diccionario es haciendo uso de dict. Por ejemplo:

>>> otro_estudiante = dict(nombre='Ana', promedio='A', edad=5)

Métodos

keys()

Este método devuelve  una lista con las claves del diccionario.

>>> estudiante.keys()
dict_keys(['nombre', 'apellidos', 'edad', 'promedio'])

values()

Devuelve una lista con los valores del diccionario.

>>> estudiante.values()
dict_values(['Salvador', 'Gonzales Landeo', 3, 'AD'])

clear()

Eliminar todos los pares clave:valor.

>>> estudiante.clear()
{}

items()

Devuelve una lista de tuplas con la clave y el valor.

>>> estudiante.items()
dict_items([('nombre', 'Salvador'), ('apellidos', 'Gonzales'), ('edad', 3), ('promedio', 'AD')])

copy()

Retorna una copia superficial del diccionario.

>>> estudiante.copy()
{'nombre': 'Salvador', 'apellidos': 'Gonzales', 'edad': 3, 'promedio': 'AD'}

get()

Retorna el valor de la clave que se pasa como primer argumento. Si no encuentra ningún valor devuelve el valor por defecto None o si le pasas un segundo argumento entonces devuelve ese valor.

>>> estudiante.get('nombre')
'Salvador'
>>> print(estudiante.get('cursos')) # Devuelve None
None
>>> estudiante.get('cursos', ['Lenguaje']) # Devuelve el segundo argumento (['Lenguaje'])
['Lenguaje']

pop()

Elimina la clave que se le pasa como argumento y devuelve el valor de la clave eliminada.

>>> estudiante.pop('nombre')
'Salvador'

update()

Actualiza el diccionario con el diccionario que se pasa con argumento, esto puede agregar nuevos elementos o cambiar el valor de algunos elementos si es que se pasan con la misma clave.

>>> estudiante.update({'nombre': 'Ana', 'edad': '5'})
>>> estudiante
{'nombre': 'Ana', 'apellidos': 'Gonzales', 'edad': '5', 'promedio': 'AD'}

En otros tutoriales dentro de Tutz encontrarás todos los métodos que contienen los diccionarios.