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.
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)
- 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.
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
Resum
- 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.