Diccionario de Python: todo lo que necesita saber [con ejemplos]

Publicado: 2020-04-14

Si está trabajando con Python, debe haber oído hablar de listas, cadenas y tuplas. Hoy vamos a hablar sobre otro elemento crucial de Python: el diccionario. Una vez que haya terminado de leer esta publicación, debe tener una comprensión relativamente buena de los diccionarios de Python, cómo crearlos y cómo usarlos.

Tabla de contenido

¿Qué es un diccionario Python?

En Python, un diccionario es una implementación de una estructura de datos que generalmente se conoce como matriz asociativa. Contiene una colección no organizada de valores de datos (por ejemplo, un mapa). Sin embargo, a diferencia de otros tipos de datos que contienen un solo valor como elemento, los valores de datos almacenados en un diccionario contienen un par clave:valor. Esto ayuda a optimizar el diccionario. Cada par clave:valor asigna la clave única asociada con su valor.

En un diccionario de Python, las claves son únicas, pero los valores pueden o no serlo; mientras que las claves deben ser de un tipo de datos inmutable (cadenas, números y tuplas), los valores pueden ser de cualquier tipo. Además, en un diccionario de Python, las claves distinguen entre mayúsculas y minúsculas. Por lo tanto, las claves que tienen el mismo nombre, pero diferentes casos, se tratan de manera diferente.

Más información sobre: ​​Tipos de datos de Python

Diccionario vs Listas

En Python, los diccionarios y las listas comparten similitudes y diferencias. Los rasgos comunes que comparten los diccionarios y las listas incluyen:

  • Son mutables.
  • Son dinámicos.
  • Pueden anidarse: una lista puede contener otra lista y un diccionario puede contener otro diccionario. Además, una lista puede contener un diccionario y viceversa.

La principal diferencia entre los diccionarios y las listas es que, si bien se puede acceder a los elementos de la lista (según su posición en la lista) a través de la indexación, a los elementos del diccionario se accede mediante claves.

Diccionario Python – Métodos

Ahora, analizaremos algunos de los métodos más utilizados en los diccionarios de Python.

  • copy( ) – Devuelve una copia superficial de un diccionario.
  • clear() : elimina todos los elementos de un diccionario.
  • type( ) – Devuelve el tipo de la variable pasada.
  • pop() : elimina y devuelve un elemento de un diccionario después de proporcionar la clave.
  • popitem() : elimina y devuelve un elemento arbitrario (clave, valor). Además, genera KeyError si el diccionario está vacío.
  • get() : se utiliza para acceder al valor de una clave.
  • items( ) – Devuelve una nueva vista de los elementos del diccionario (clave, valor).
  • str() : genera una representación de cadena imprimible de un diccionario.
  • pop(key[,d]) – Elimina el elemento con key y devuelve su valor, y si no se encuentra key, devuelve d . Sin embargo, si no se proporciona d y no se encuentra la clave, devuelve KeyError .
  • get(clave[,d]) – Devuelve el valor de la clave. Si la clave no existe, devuelve d (predeterminado en Ninguno ).
  • fromkeys(seq[, v]) : devuelve un nuevo diccionario con claves de seq y el valor es igual a v (predeterminado en Ninguno ).
  • actualizar ([otro]) : actualiza el diccionario con los pares clave/valor de otros sobrescribiendo las claves existentes.

¿Cómo crear un diccionario?

Puede crear un diccionario de Python encerrando una lista separada por comas de pares clave-valor entre llaves { }. Dos puntos “:” separan cada clave de su valor asociado:

re = {

<clave>: <valor>,

<clave>: <valor>,

.

.

.

<clave>: <valor>

}

También puede usar la función integrada dict() para crear un diccionario, así:

# diccionario vacío

mi_dict = {}

# diccionario con claves enteras

my_dict = {1: 'manzana', 2: 'bola'}

# diccionario con teclas mixtas

mi_dict = {'nombre': 'Juan', 1: [2, 4, 3]}

# usando dict()

my_dict = dict({1:'manzana', 2:'bola'})

# de la secuencia que tiene cada elemento como un par

my_dict = dict([(1,'manzana'), (2,'pelota')])

¿Cómo acceder a los elementos de un diccionario?

Para acceder a un elemento de un diccionario, debe hacer referencia a su nombre clave. Puede usar el método get( ) para recuperar el elemento, o puede mencionar el nombre de la clave dentro de un corchete [ ]. Si no se encuentra una clave en el diccionario, el método get() devuelve None en lugar de KeyError.

Aquí hay un ejemplo de un código usado para acceder a elementos de un diccionario:

#!/usr/bin/python

dict = {'Nombre': 'Zara', 'Edad': 7, 'Clase': 'Primero'}

imprimir “dict['Nombre']: “, dict['Nombre']

print “dict['Edad']: “, dict['Edad']

¿Cómo agregar o cambiar elementos en un diccionario?

Dado que los diccionarios de Python son mutables, puede agregar elementos o incluso cambiar los valores de los elementos existentes contenidos en un diccionario. Los elementos se pueden agregar a un diccionario de muchas maneras. Sin embargo, puede agregar un valor al diccionario a la vez definiéndolo junto con su clave.

Por ejemplo, dict[clave] = 'valor'. Para actualizar un valor existente en un diccionario, debe usar el método incorporado de actualización () . Debe recordar que al agregar un valor a un diccionario si el valor ya existe, el valor se actualiza; de lo contrario, se agrega una nueva clave con el valor al diccionario.

my_dict = {'nombre':'Jack', 'edad': 26}

# valor de actualización

mi_dict['edad'] = 27

#Salida: {'edad': 27, 'nombre': 'Jack'}

imprimir (mi_dict)

# añadir artículo

my_dict['address'] = 'Centro'

# Salida: {'dirección': 'Centro', 'edad': 27, 'nombre': 'Jack'}

imprimir (mi_dict)

¿Cómo eliminar o eliminar elementos de un diccionario?

Para eliminar o eliminar un elemento de un diccionario, puede utilizar el método emergente ( ) . Eliminará el artículo en particular con el ket provisto y devolverá el valor. También puede usar el método popitem() para eliminar y devolver un elemento arbitrario (clave y valor) del diccionario.

Si desea eliminar todos los elementos a la vez, puede utilizar el método clear( ) . También puede usar la palabra clave del para eliminar elementos individuales o el método del dict ( ) para eliminar todo el diccionario.

Un ejemplo usando el método del dict ( ):

#!/usr/bin/python

dict = {'Nombre': 'Zara', 'Edad': 7, 'Clase': 'Primero'}

del dict['Nombre']; # eliminar entrada con la tecla 'Nombre'

dict.claro(); # eliminar todas las entradas en dict

del dict ; # eliminar todo el diccionario

print “dict['Edad']: “, dict['Edad']

print “dict['Escuela']: “, dict['Escuela']

Lea también: Salario de desarrollador de Python en India

¿Cómo recorrer un diccionario?

En un diccionario de Python, puede realizar un bucle mediante un bucle for . Cuando recorre un diccionario, las claves del diccionario son el valor de retorno.

Un ejemplo de bucle a través de un diccionario es:

para x en este dictado:

imprimir (x)

Leer: Funciones de Python más importantes

¿Cómo verificar si una clave está presente en un diccionario?

Puede usar la palabra clave " in " para verificar si una clave específica está presente en el diccionario, así:

estedict = {

“marca”: “Ferrari”,

“modelo”: “Tono diurno”,

“año”: “1968”

}

si "modelo" en thisdict:

print(“Sí, 'modelo' es una de las claves en el diccionario thisdict”)

¿Cómo determinar la longitud de un diccionario?

Puede establecer la longitud de un diccionario, es decir, determinar cuántos elementos (pares clave:valor) tendrá, usando el método len() , así:

imprimir(len(estedict))

¿Cómo copiar un diccionario?

Puede copiar un diccionario utilizando el método integrado copy( ) . Sin embargo, no puede copiar un diccionario escribiendo dict2 = dict1 porque dict2 solo será una referencia a dict1 .

Aquí hay un ejemplo usando el método copy() :

estedict = {

“marca”: “Ford”,

“modelo”: “Mustang”,

“año”: 1964

}

midict = thisdict.copy()

imprimir (midict)

Diccionario Python: Comprensión

En Python, la comprensión del diccionario es una forma sencilla y ordenada de crear un nuevo diccionario a partir de un iterable. Consiste en un par de expresiones (clave: valor) seguido de una instrucción for entre llaves { }. La comprensión del diccionario puede contener múltiples declaraciones for o if .

Aquí hay un ejemplo para crear un diccionario donde cada elemento es un par de un número y su cuadrado:

cuadrados = {x: x*x para x en el rango (6)}

# Salida: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

imprimir (cuadrados)

Leer más: Bibliotecas de visualización de datos de Python

Terminando

Eso es básicamente: ¡todo el conocimiento fundamental que necesita saber sobre el diccionario de Python!

Si tiene curiosidad por aprender sobre Python, todo lo relacionado con la ciencia de datos, consulte los cursos de certificación de ciencia de datos de upGrad, creados para profesionales que trabajan y que ofrecen más de 10 estudios de casos y proyectos, talleres prácticos prácticos, tutoría con expertos de la industria, 1-on -1 con mentores de la industria, más de 400 horas de aprendizaje y asistencia laboral con las mejores empresas.

¿Cuál es la necesidad de diccionarios en Python?

Una colección desordenada de valores de datos es un diccionario de Python. Se requieren diccionarios en Python para almacenar valores de datos como un mapa. En todos los demás tipos de datos, solo pueden contener un único valor como elemento. Pero, un diccionario puede contener el par clave:valor. Este par hace que el funcionamiento del diccionario sea un poco más optimizado.

Para crear un diccionario en Python, simplemente necesita colocar los elementos entre llaves, separándolos todos con una 'coma'. Los valores del diccionario se pueden repetir y duplicar, pero no se pueden repetir las claves del diccionario. Las claves en un diccionario distinguen entre mayúsculas y minúsculas, por lo que incluso dos claves con el mismo nombre pero en diferentes casos se tratarán de manera diferente.

¿Qué se puede almacenar en un diccionario de Python?

Los diccionarios se utilizan en Python para recuperar datos con la ayuda de cualquier clave única. Todo lo que puede almacenar en una variable de Python podría almacenarse en un diccionario de Python. Incluso puede anidar un diccionario en otro creando listas. Por el contrario, las claves tienen que ser inmutables.

Puede recuperar fácilmente el valor almacenado llamando a la clave que almacena el valor particular. Si realiza algún cambio en la lista devuelta, también se verá afectado en el diccionario. Uno necesita entender que los valores almacenados en el diccionario y la lista recuperada son los mismos objetos.

¿En qué se diferencian Hashtable y Dictionary?

Una Hashtable es una colección no genérica, mientras que un Diccionario es una colección genérica de valores de datos. Puede almacenar los pares clave-valor del mismo tipo de datos, así como de diferentes tipos de datos, mientras que solo puede almacenar los mismos pares clave-valor del mismo tipo de datos en un diccionario.

Dado que en Hashtable hay empaquetado y desempaquetado, el proceso de recuperación de datos es más lento en comparación con el Diccionario. No se mantiene un orden en una Hashtable, pero siempre verá un orden mantenido de los valores almacenados en un Diccionario.