Diccionarios de Python

Diccionario (Dictionary)

El diccionario es una colección no ordenada, mutable y con índice. En Python, los diccionarios se escriben con corchetes y tienen claves y valores.

Ejemplo

Crear e imprimir el diccionario:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
print(thisdict)

Ejecutar ejemplo

Acceder a elementos

Puedes acceder a los elementos del diccionario usando la referencia de su nombre de clave en corchetes:

Ejemplo

Obtener el valor de la clave "model":

x = thisdict["model"]

Ejecutar ejemplo

Hay otro llamado get() El método te dará el mismo resultado:

Ejemplo

Obtener el valor de la clave "model":

x = thisdict.get("model")

Ejecutar ejemplo

Cambiar valor

Puedes cambiar el valor de un elemento específico usando la referencia de su nombre de clave:

Ejemplo

Cambiar "year" a 2019:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict["year"] = 2019

Ejecutar ejemplo

Recorrer el diccionario

Puedes usar for Recorrer el diccionario en bucle.

Al recorrer el diccionario en bucle, el valor devuelto es la clave del diccionario, pero también hay métodos para devolver valores.

Ejemplo

Imprimir cada nombre de clave del diccionario uno por uno:

for x in thisdict:
  print(x)

Ejecutar ejemplo

Ejemplo

Imprimir cada valor del diccionario uno por uno:

for x in thisdict:
  print(thisdict[x])

Ejecutar ejemplo

Ejemplo

También puedes usar values() La función values() devuelve los valores del diccionario:

for x in thisdict.values():
  print(x)

Ejecutar ejemplo

Ejemplo

Para recorrer las claves y valores del diccionario, usa la función items():

for x, y in thisdict.items():
  print(x, y)

Ejecutar ejemplo

Revisar si la clave existe

Para determinar si una clave específica existe en el diccionario, usa: in Palabra clave:

Ejemplo

Revisar si 'model' existe en el diccionario:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
if "model" in thisdict:
  print("Sí, 'model' es una de las claves en el diccionario thisdict")

Ejecutar ejemplo

Longitud del diccionario

Para determinar cuántos elementos hay en el diccionario (pares clave-valor), usa: len() Método.

Ejemplo

Imprimir el número de elementos en el diccionario:

print(len(thisdict))

Ejecutar ejemplo

Agregar elementos

Puedes agregar elementos a un diccionario usando una nueva clave y asignándole un valor:

Ejemplo

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict["color"] = "red"
print(thisdict)

Ejecutar ejemplo

Eliminar elementos

Hay varias formas de eliminar elementos de un diccionario:

Ejemplo

El método pop() elimina el elemento con el nombre de clave especificado:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict.pop("model")
print(thisdict)

Ejecutar ejemplo

Ejemplo

popitem() Método para eliminar el último elemento insertado (en versiones anteriores a 3.7, eliminar un elemento aleatorio):

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict.popitem()
print(thisdict)

Ejecutar ejemplo

Ejemplo

del La clave también puede eliminar el elemento con el nombre de clave especificado:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
del thisdict["model"]
print(thisdict)

Ejecutar ejemplo

Ejemplo

del La clave también puede eliminar completamente el diccionario:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
del thisdict
print(thisdict) #this causará un error porque "thisdict" ya no existe.

Ejecutar ejemplo

Ejemplo

clear() La clave vacía el diccionario:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict.clear()
print(thisdict)

Ejecutar ejemplo

copiar diccionario

No puede copiar un diccionario escribiendo dict2 = dict1 para copiar el diccionario, porque:dict2 solo es una copia dict1 la referencia, mientras que dict1 Los cambios también se aplicarán automáticamente en dict2 en.

Hay algunos métodos para hacer copias, uno de ellos es usar el método de diccionario integrado copy()

Ejemplo

Utilice copy() método para copiar el diccionario:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
mydict = thisdict.copy()
print(mydict)

Ejecutar ejemplo

Otra manera de hacer una copia es usando el método dict()

Ejemplo

Utilice dict() El método crea una copia del diccionario:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
mydict = dict(thisdict)
print(mydict)

Ejecutar ejemplo

Diccionario anidado

Un diccionario también puede contener muchos diccionarios, lo que se llama diccionario anidado.

Ejemplo

Cree un diccionario que contenga tres diccionarios:

myfamily = {
  "child1" : {
    "name" : "Phoebe Adele",
    "year" : 2002
  },
  "child2" : {
    "name" : "Jennifer Katharine",
    "year" : 1996
  },
  "child3" : {
    "name" : "Rory John",
    "year" : 1999
  }
}

Ejecutar ejemplo

O, si desea anidar tres diccionarios ya existentes:

Ejemplo

Cree tres diccionarios y luego cree un diccionario que contenga a los otros tres diccionarios:

child1 = {
  "name" : "Phoebe Adele",
  "year" : 2002
}
child2 = {
  "name" : "Jennifer Katharine",
  "year" : 1996
}
child3 = {
  "name" : "Rory John",
  "year" : 1999
}
myfamily = {
  "child1" : child1,
  "child2" : child2,
  "child3" : child3
}

Ejecutar ejemplo

Constructor de diccionario dict()

También se puede usar dict() El constructor crea un nuevo diccionario:

Ejemplo

thisdict = dict(brand="Porsche", model="911", year=1963)
# Por favor, el nombre de la clave no es una cadena literal
# Por favor, utilice el signo igual en lugar del dos puntos para asignar
print(thisdict)

Ejecutar ejemplo

Métodos de diccionario

Python proporciona un conjunto de métodos integrados que se pueden usar en diccionarios.

Método Descripción
clear() Eliminar todos los elementos del diccionario
copy() Devolver una copia del diccionario
fromkeys() Devolver el diccionario que tiene la clave y el valor especificados
get() Devolver el valor de la clave especificada
items() Devolver una lista de tuplas que contienen cada par de clave y valor
keys() Devolver una lista que contiene las claves del diccionario
pop() Eliminar el elemento que tiene la clave especificada
popitem() Eliminar el último par de clave y valor insertado
setdefault() Devolver el valor de la clave especificada. Si la clave no existe, insertar una clave con el valor especificado.
update() Actualizar el diccionario con pares de clave y valor especificados
values() Devolver una lista de todos los valores del diccionario