Dictionary es una estructura de datos incorporada de Python que es mutable. Es similar, en espíritu, a List, Set y Tuples. Sin embargo, no se indexa por una secuencia de números, sino por keys y puede entenderse como arreglos asociativos. A un nivel abstracto, consta de una key con un value asociado. En Python, Dictionary representa la implementación de una hash-table.
¿Qué son las keys?
Como se muestra en la figura de abajo, las keys son tipos de datos inmutables (que no pueden cambiar) y pueden ser cadenas o números. No obstante, una key no puede ser un tipo de dato mutable, como una lista. Las keys son únicas dentro de un Dictionary y no se pueden duplicar. Si se usa más de una vez, las entradas posteriores sobrescriben el valor anterior.
Una key se conecta con un value, creando así una estructura tipo mapa. Por ejemplo, si quitas las keys de la imagen, lo que te queda es una estructura con una secuencia de números. Los diccionarios, por tanto, guardan un par key: value en cada posición.
Un Dictionary se representa con llaves {}, dentro de las cuales se encierran pares key: value separados por comas.
Crear un diccionario
Sintaxis
Como recordatorio, aquí tienes una receta para crear un Dictionary:
En la sintaxis anterior, tanto las keys como los values son cadenas.
Ejemplo de creación de un diccionario
pop =[30.55,2.77,39.21]
countries =["afghanistan","albania","algeria"]Con la tecnología de
Convirtamos los datos de población en un Dictionary. Para crearlo, usarás las llaves. Después, dentro de las llaves, incluirás varios pares key:value. En este caso, las keys son los nombres de los países y los values son sus poblaciones correspondientes.
La primera key es Afghanistan y su valor correspondiente es 30.55. Fíjate en los dos puntos que separan la pareja key y value. Hagamos lo mismo con las otras dos parejas key:value y guarda el resultado en la variable world.
Ahora, para encontrar la población de Albania, simplemente escribe world y, a continuación, la cadena Albania entre corchetes. En otras palabras, pasas la key entre corchetes y obtienes el value correspondiente.
world ={"afghanistan":30.55,"albania":2.77,"algeria":39.21}
world["albania"]Con la tecnología de
Este enfoque no solo es intuitivo, también es muy eficiente porque Python puede buscar estas keys muy rápido, incluso en diccionarios enormes.
Ejemplo interactivo de creación de un diccionario
En el siguiente ejemplo, usarás las cadenas de countries y capitals para crear un Dictionary llamado europe con 4 pares key:value. Aquí, countries serán las keys y capitals serán los values. ¡Cuidado con las mayúsculas! Asegúrate de usar todo en minúsculas. Por último, imprime europe para comprobar si el resultado es el esperado.
# Definición de countries y capitals
countries =['spain','france','germany','norway']
capitals =['madrid','paris','berlin','oslo']# A partir de countries y capitals, crea el diccionario europe
europe ={'spain':'madrid','france':'paris','germany':'berlin','norway':'oslo'}# Imprime europeprint(europe)Con la tecnología de
Al ejecutar el código anterior, se obtiene el siguiente resultado:
{'norway':'oslo','germany':'berlin','france':'paris','spain':'madrid'}Con la tecnología de
¡Aprende todo sobre la comprensión de diccionarios en Python: cómo puedes utilizarla para crear diccionarios, para sustituir los for loops (anidados) o las funciones lambda por map(), filter() y reduce(), ...!
Aprende sobre los conjuntos en Python: qué son, cómo crearlos, cuándo usarlos, funciones incorporadas y su relación con las operaciones de la teoría de conjuntos.
Descubre cómo escribir funciones en Python reutilizables y eficientes. Domina los parámetros, las sentencias return y temas avanzados como las funciones lambda. Organiza mejor tu código con main() y otras buenas prácticas.
Aprende métodos eficaces para ordenar un diccionario por valores en Python. Descubre cómo ordenar en orden ascendente y descendente, y consejos adicionales para ordenar claves.
Introdúcete en las estructuras de datos de Python: aprende más sobre tipos de datos y estructuras de datos primitivas y no primitivas, como cadenas, listas, pilas, etc.
Dictionary es una estructura de datos incorporada de Python que es mutable. Es similar, en espíritu, a List, Set y Tuples. Sin embargo, no se indexa por una secuencia de números, sino por
keysy puede entenderse como arreglos asociativos. A un nivel abstracto, consta de unakeycon unvalueasociado. En Python, Dictionary representa la implementación de unahash-table.¿Qué son las keys?
Como se muestra en la figura de abajo, las keys son tipos de datos inmutables (que no pueden cambiar) y pueden ser cadenas o números. No obstante, una key no puede ser un tipo de dato mutable, como una lista. Las keys son únicas dentro de un Dictionary y no se pueden duplicar. Si se usa más de una vez, las entradas posteriores sobrescriben el valor anterior.
Una
keyse conecta con unvalue, creando así una estructura tipo mapa. Por ejemplo, si quitas las keys de la imagen, lo que te queda es una estructura con una secuencia de números. Los diccionarios, por tanto, guardan un parkey: valueen cada posición.Un Dictionary se representa con llaves
{}, dentro de las cuales se encierran pareskey: valueseparados por comas.Crear un diccionario
Sintaxis
Como recordatorio, aquí tienes una receta para crear un Dictionary:
En la sintaxis anterior, tanto las keys como los values son cadenas.
Ejemplo de creación de un diccionario
Convirtamos los datos de población en un Dictionary. Para crearlo, usarás las llaves. Después, dentro de las llaves, incluirás varios pares key:value. En este caso, las keys son los nombres de los países y los values son sus poblaciones correspondientes.
La primera key es Afghanistan y su valor correspondiente es 30.55. Fíjate en los dos puntos que separan la pareja key y value. Hagamos lo mismo con las otras dos parejas key:value y guarda el resultado en la variable
world.Ahora, para encontrar la población de Albania, simplemente escribe
worldy, a continuación, la cadena Albania entre corchetes. En otras palabras, pasas la key entre corchetes y obtienes el value correspondiente.Este enfoque no solo es intuitivo, también es muy eficiente porque Python puede buscar estas keys muy rápido, incluso en diccionarios enormes.
Ejemplo interactivo de creación de un diccionario
En el siguiente ejemplo, usarás las cadenas de
countriesycapitalspara crear un Dictionary llamadoeuropecon 4 pares key:value. Aquí,countriesserán las keys ycapitalsserán los values. ¡Cuidado con las mayúsculas! Asegúrate de usar todo en minúsculas. Por último, imprimeeuropepara comprobar si el resultado es el esperado.Al ejecutar el código anterior, se obtiene el siguiente resultado:
Pruébalo tú mismo.
Si quieres saber más sobre los diccionarios en Python, echa un vistazo a este vídeo de nuestro curso Intermediate Python.
Este contenido está extraído del curso Intermediate Python de DataCamp, creado por Hugo Bowne-Anderson.