Diccionario en Python con sintaxis y ejemplo

ยฟQuรฉ es un diccionario en Python?

A Diccionario en Python es la colecciรณn desordenada y modificable de valores de datos que contiene pares clave-valor. Cada par clave-valor en el diccionario asigna la clave a su valor asociado, lo que lo hace mรกs optimizado. Un diccionario en Python se declara encerrando una lista separada por comas de pares clave-valor usando llaves ({}). Python El diccionario 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 para Python Diccionario

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

El diccionario se encuentra entre llaves, dentro de las cuales se declaran las claves y los valores. Cada clave estรก separada de su valor por dos puntos (:), mientras que cada elemento estรก separado por comas.

Sintaxis para Python Diccionario

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 tratan como claves diferentes en Python diccionarios.

Python 2 Ejemplo

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

Python 3 Ejemplo

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.

Python Mรฉtodos de diccionario

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".

Python 2 Ejemplo

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

Python 3 Ejemplo

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.

Python 2 Ejemplo

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

Python 3 Ejemplo

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

Python El diccionario te da la libertad de eliminar cualquier elemento de la lista del diccionario. Supรณn que no quieres el nombre Charlie en la lista, asรญ que puedes eliminar el elemento clave con el siguiente cรณdigo.

Python 2 Ejemplo

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

Python 3 Ejemplo

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.

Python 2 Ejemplo

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

Python 3 Ejemplo

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.

Python 2 Ejemplo

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


Python 3 Ejemplo

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)
  • La funciรณn 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.

Python 2 Ejemplo

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])))

Python 3 Ejemplo

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.

Python Funciones integradas del diccionario

Diccionario len() Mรฉtodo

La funciรณn len() proporciona el nรบmero de pares en el diccionario.

Por ejemplo,

Python 2 Ejemplo

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

Python 3 Ejemplo

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)โ€.

Python 2 Ejemplo

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

Python 3 Ejemplo

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.

Python Listar el mรฉtodo cmp()

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.

Python 2 Ejemplo

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

Python 3 Ejemplo

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.

Python 2 Ejemplo

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

Python 3 Ejemplo

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 utilizando el mรฉtodo ** (de Python 3.5 en adelante)

El ** se llama Kwargs en Python, y funcionarรก con Python versiรณn 3.5+. 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.
  • Python El diccionario 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 tratan como claves diferentes en Python diccionarios.

Resumir este post con: