Diccionario en Python con sintaxis y ejemplo

¿Qué es un diccionario en Python?

A Diccionario en Python es la colección desordenada y cambiante de valores de datos que contiene pares clave-valor. Cada par clave-valor en el diccionario asigna la clave a su valor asociado, haciéndolo más optimizado. Un diccionario en Python se declara encerrando una lista separada por comas de pares clave-valor usando llaves ({}). El Diccionario Python se clasifica en dos elementos: claves y valores.

  • Las llaves serán un solo elemento
  • Los valores pueden ser una lista o una lista dentro de una lista, números, etc.

Sintaxis del diccionario Python

Dict = { ' Tim': 18,  xyz,.. }

El diccionario aparece entre llaves, dentro de estas llaves, se declaran las claves y los valores. Cada clave está separada de su valor por dos puntos (:), mientras que las comas separan cada elemento.

Sintaxis del diccionario Python

Propiedades de las claves del diccionario

Hay dos puntos importantes al utilizar las claves del diccionario.

  • No se permite más de una entrada por clave (no se permite duplicar clave)
  • Los valores en el diccionario pueden ser de cualquier tipo, mientras que las claves deben ser inmutables como los números, tuplas
  • Las claves del diccionario distinguen entre mayúsculas y minúsculas: el mismo nombre de clave pero con diferentes casos se trata como claves diferentes en los diccionarios de Python.

Ejemplo de Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}   
print (Dict['Tiffany'])

Ejemplo de Python 3

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}   
print((Dict['Tiffany']))
  • En el código, tenemos el nombre del diccionario "Dict"
  • Declaramos el nombre y la edad de la persona en el diccionario, donde el nombre es "Claves" y la edad es el "valor".
  • Ahora ejecuta el código
  • Recupera la edad de Tiffany del diccionario.

Métodos de diccionario de Python

Copiar diccionario

También puede copiar el diccionario completo a un diccionario nuevo. Por ejemplo, aquí hemos copiado nuestro diccionario original con el nuevo nombre de diccionario "Niños" y "Niñas".

Ejemplo de Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}	
studentX=Boys.copy()
studentY=Girls.copy()
print studentX
print studentY

Ejemplo de Python 3

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}	
studentX=Boys.copy()
studentY=Girls.copy()
print(studentX)
print(studentY)
  • Disponemos del diccionario original (Dict) con el nombre y edad de los niños y niñas juntos
  • Pero queremos que la lista de niños esté separada de la lista de niñas, por lo que definimos el elemento de niños y niñas en un diccionario separado con el nombre "Niños" y "Niñas".
  • Ahora nuevamente hemos creado un nuevo nombre de diccionario "estudiante X" y "estudiante Y", donde todas las claves y valores del diccionario de niños se copian en el estudiante X, y las niñas se copiarán en el estudiante Y.
  • Así que ahora no tienes que buscar en la lista completa en el diccionario principal (Dict) para comprobar quién es un niño y quién es una niña, solo tienes que imprimir el estudiante X si quieres la lista de niños y el EstudianteY si quieres la lista de niñas.
  • Entonces, cuando ejecuta el diccionario del estudiante X y del estudiante Y, le dará todos los elementos presentes en el diccionario de "niños" y "niñas" por separado.

Diccionario de actualización

También puede actualizar un diccionario agregando una nueva entrada o un par clave-valor a una entrada existente o eliminando una entrada existente. Aquí, en el ejemplo, agregaremos otro nombre, "Sarah", a nuestro diccionario existente.

Ejemplo de Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Dict.update({"Sarah":9})
print Dict

Ejemplo de Python 3

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Dict.update({"Sarah":9})
print(Dict)
  • Nuestro diccionario existente "Dict" no tiene el nombre "Sarah".
  • Usamos el método Dict.update para agregar Sarah a nuestro diccionario existente.
  • Ahora ejecuta el código, agrega a Sarah a nuestro diccionario existente.

Eliminar claves del diccionario

El diccionario Python le da la libertad de eliminar cualquier elemento de la lista del diccionario. Supongamos que no desea el nombre Charlie en la lista, por lo que puede eliminar el elemento clave siguiendo el siguiente procedimientowing código.

Ejemplo de Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
del Dict ['Charlie']
print Dict

Ejemplo de Python 3

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
del Dict ['Charlie']
print(Dict)

Cuando ejecuta este código, debería imprimir la lista del diccionario sin Charlie.

  • Usamos el código del Dict
  • Cuando se ejecutó el código, se eliminó Charlie del diccionario principal.

Elementos del diccionario() Método

El método items() devuelve una lista de pares de tuplas (claves, valores) en el diccionario.

Ejemplo de Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "Students Name: %s" % Dict.items()

Ejemplo de Python 3

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("Students Name: %s" % list(Dict.items()))
  • Usamos el método code items() para nuestro Dict.
  • Cuando se ejecuta el código, devuelve una lista de elementos (claves y valores) del diccionario.

Compruebe si una clave determinada ya existe en un diccionario

Para una lista determinada, también puede comprobar si nuestro diccionario secundario existe o no en el diccionario principal. Aquí tenemos dos subdiccionarios "Niños" y "Niñas", ahora queremos verificar si nuestro diccionario Niños existe en nuestro "Dict" principal o no. Para eso, usamos el método de bucle for con el método else if.

Ejemplo de Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
for key in Boys.keys():
    if key in Dict.keys():
        print True
    else:       
        print False


Ejemplo de Python 3

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
for key in list(Boys.keys()):
    if key in list(Dict.keys()):
        print(True)
    else:       
        print(False)
  • El en bucle en el código verifica cada clave en el diccionario principal en busca de claves para niños
  • Si existe en el diccionario principal, debería imprimir verdadero o falso.
  • Cuando ejecute el código, imprimirá "Verdadero" tres veces, ya que tenemos tres elementos en nuestro diccionario "Niños".
  • Entonces indica que los “Boys” existen en nuestro diccionario principal (Dict)

Ordenar el diccionario

En el diccionario también puedes ordenar los elementos. Por ejemplo, si queremos imprimir el nombre de los elementos de nuestro diccionario alfabéticamente, tenemos que usar el bucle for. Ordenará cada elemento del diccionario en consecuencia.

Ejemplo de Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
Students = Dict.keys()
Students.sort()
for S in Students:
      print":".join((S,str(Dict[S])))

Ejemplo de Python 3

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
Students = list(Dict.keys())
Students.sort()
for S in Students:
      print(":".join((S,str(Dict[S]))))
  • Declaramos la variable estudiantes para nuestro diccionario "Dict".
  • Luego usamos el código Students.sort, que ordenará el elemento dentro de nuestro diccionario.
  • Pero para ordenar cada elemento en el diccionario, ejecutamos el bucle for declarando la variable S
  • Ahora, cuando ejecutamos el código, el bucle for llamará a cada elemento del diccionario e imprimirá la cadena y el valor en un orden.

Funciones integradas del diccionario Python

Diccionario len() Método

La función len() proporciona el número de pares en el diccionario.

Por ejemplo,

Ejemplo de Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "Length : %d" % len (Dict)

Ejemplo de Python 3

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("Length : %d" % len (Dict))

Cuando se ejecuta la función len (Dict), se obtiene el resultado "4", ya que hay cuatro elementos en nuestro diccionario.

Tipos de variables

Python no requiere declarar explícitamente el espacio de memoria de reserva; sucede automáticamente. Se utilizan los valores de asignación a la variable "=" signo igual. El código para determinar el tipo de variable es “%type (Dict)”.

Ejemplo de Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "variable Type: %s" %type (Dict)

Ejemplo de Python 3

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("variable Type: %s" %type (Dict))
  • Utilice el código %type para conocer el tipo de variable
  • Cuando se ejecutó el código, indica que el tipo de variable es un diccionario.

Método cmp() de lista de Python

El método de comparación cmp() se utiliza en Python para comparar valores y claves de dos diccionarios. Si el método devuelve 0 si ambos diccionarios son iguales, 1 si dic1 > dict2 y -1 si dict1 < dict2.

Ejemplo de Python 2

Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}	
print cmp(Girls, Boys)

Ejemplo de Python 3

cmp is not supported in Python 3
  • Tenemos dos nombres de diccionario, "Niños" y "Niñas".
  • Lo que declare primero en el código “cmp(Niñas, Niños)” se considerará como diccionario 1. En nuestro caso, declaramos “Niñas” primero, por lo que se considerará como diccionario 1 y los niños como diccionario 2.
  • Cuando se ejecuta el código, imprime -1, lo que indica que nuestro diccionario 1 es menor que el diccionario 2.

Diccionario Str(dict)

Con el método Str(), puede convertir un diccionario en un formato de cadena imprimible.

Ejemplo de Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "printable string:%s" % str (Dict)

Ejemplo de Python 3

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("printable string:%s" % str (Dict))
  • Utilice el código % str (Dict)
  • Devolverá los elementos del diccionario en un formato de cadena imprimible.

Aquí está la lista de todos los métodos de diccionario.

Método Descripción Sintaxis
Copiar() Copie el diccionario completo al nuevo diccionario dict.copy ()
actualizar() Actualice un diccionario agregando una nueva entrada o un par clave-valor a una entrada existente o eliminando una entrada existente. Dict.update([otro])
artículos() Devuelve una lista de pares de tuplas (claves, valores) en el diccionario. diccionario.elementos()
ordenar() Puedes ordenar los elementos. diccionario.ordenar()
len () Da el número de pares en el diccionario. len(dictar)
cmp() Compara los valores y claves de dos diccionarios. cmp(dict1, dict2)
Str () Convertir un diccionario en un formato de cadena imprimible str(dict)

Fusión de diccionarios

Aquí comprenderemos cómo fusionar dos diccionarios determinados en un solo diccionario.

Tengo dos diccionarios como se muestra a continuación:

Diccionario1: mi_dict1

my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}

Diccionario 2: my_dict2

my_dict2 = {"firstName" : "Nick", "lastName": "Price"}

Fusionemos ambos diccionarios my_dict1 y my_dict2 y creemos un único diccionario con nombremy_dict.

Fusionar dos diccionarios usando el método update()

El método update() nos ayudará a fusionar un diccionario con otro. En el ejemplo, actualizaremos my_dict1 con my_dict2. Después de usar el método update() my_dict1 tendrá el contenido de my_dict2 como se muestra a continuación:

my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}

my_dict2 = {"firstName" : "Nick", "lastName": "Price"}

my_dict1.update(my_dict2)

print(my_dict1)

Salida:

{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}

Fusionar diccionarios usando el método ** (desde Python 3.5 en adelante)

El ** se llama Kwargs en Python y funcionará con la versión 3.5+ de Python. Usando **, podemos fusionar dos diccionarios y devolverá el diccionario fusionado. Hacer uso de ** delante de la variable reemplazará la variable con todo su contenido.

A continuación se muestra un ejemplo práctico del uso de ** para fusionar dos directorios.

my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}

my_dict2 = {"firstName" : "Nick", "lastName": "Price"}

my_dict =  {**my_dict1, **my_dict2} 

print(my_dict)

Salida:

{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}

Prueba de membresía del diccionario

Puede probar si una clave está presente dentro de un diccionario o no. Esta prueba solo se puede realizar en la clave de un diccionario y no en el valor. La prueba de membresía se realiza utilizando el in palabra clave. Cuando verificas la clave en el diccionario usando el in palabra clave, la expresión devuelve verdadero si la clave está presente y falso en caso contrario.

A continuación se muestra un ejemplo que muestra la prueba de membresía en un diccionario.

my_dict = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}
print("email" in my_dict)
print("location" in my_dict)
print("test" in my_dict)

Salida:

True
True
False

Resumen

  • Los diccionarios en un lenguaje de programación son un tipo de estructura de datos que se utiliza para almacenar información conectada de alguna manera.
  • El diccionario de Python se define en dos elementos, claves y valores.
  • Los diccionarios no almacenan su información en ningún orden particular, por lo que es posible que no recupere su información en el mismo orden en que la ingresó.
  • Las llaves serán un solo elemento
  • Los valores pueden ser una lista o una lista dentro de una lista, números, etc.
  • No se permite más de una entrada por clave (no se permite duplicar clave)
  • Los valores del diccionario pueden ser de cualquier tipo, mientras que las claves deben ser inmutables como números, tuplas o cadenas.
  • Las claves del diccionario distinguen entre mayúsculas y minúsculas: el mismo nombre de clave pero con diferentes casos se trata como claves diferentes en los diccionarios de Python.