5.3 Diccionarios

5.3 Diccionarios

Podemos trasladar el concepto de diccionario de la vida real al de diccionario en Python. Al fin y al cabo un diccionario es un objeto que contiene palabras, y cada palabra tiene asociado un significado. Haciendo el paralelismo, diríamos que en Python un diccionario es también un objeto indexado por claves (las palabras) que tienen asociados unos valores (los significados).1

Los diccionarios en Python tienen las siguientes características:

  • Mantienen el orden en el que se insertan las claves.
  • Son mutables, con lo que admiten añadir, borrar y modificar sus elementos.
  • Las claves deben ser únicas. A menudo se utilizan las cadenas de texto como claves, pero en realidad podría ser cualquier tipo de datos inmutable: enteros, flotantes, tuplas (entre otros).
  • Tienen un acceso muy rápido a sus elementos, debido a la forma en la que están implementados internamente.
Nota: En otros lenguajes de programación, a los diccionarios se les conoce como arrays

5.3 Diccionarios

Figura 6: Analogía de un diccionario en Python

5.3.1 Creando diccionarios

Para crear un diccionario usamos llaves {} rodeando asignaciones clave: valor que están separadas por comas. Veamos algunos ejemplos de diccionarios:

5.3 Diccionarios

En el código anterior podemos observar la creación de un diccionario vacío, otro donde sus claves y sus valores son cadenas de texto y otro donde las claves y los valores son valores enteros.

Ejecución paso a paso a través de Python Tutor:

https://cutt.ly/Sfav2Yw

Ejercicio

Cree un diccionario con los nombres de 5 personas de su familia y sus edades.

5.3.2 Conversión

Para convertir otros tipos de datos en un diccionario podemos usar la función dict():

5.3 Diccionarios

5.3 Diccionarios

Nota: Si nos fijamos bien, cualquier iterable que tenga una estructura interna de 2 elementos es susceptible de convertirse en un diccionario a través de la función dict().

Diccionario vacío

Existe una manera particular de usar dict() y es no pasarle ningún argumento. En este caso estaremos queriendo convertir el «vacío» en un diccionario, con lo que obtendremos un diccionario vacío:

5.3 Diccionarios

Truco: Para crear un diccionario vacío, se suele recomendar el uso de {} frente a dict(), no sólo por ser más pitónico sino por tener (en promedio) un mejor rendimiento en tiempos de ejecución.

Creación con dict()

También es posible utilizar la función dict() para crear dicionarios y no tener que utilizar llaves y comillas:

Supongamos que queremos transformar la siguiente tabla en un diccionario:

5.3 Diccionarios

Utilizando la construcción mediante dict podemos pasar clave y valor como argumentos de la función:

5.3 Diccionarios

El inconveniente que tiene esta aproximación es que las claves deben ser identificadores válidos en Python. Por ejemplo, no se permiten espacios:

5.3 Diccionarios

Nivel intermedio

Es posible crear un diccionario especificando sus claves y un único valor de «relleno»:

5.3 Diccionarios

Nota: Es válido pasar cualquier «iterable» como referencia a las claves.

Publicaciones Similares