# Un diccionario es una estructura de datos que se basa en
# un par clave, valor
# Es decir, tenemos una serie de elementos identificados por una clave
# y para cada clave tenemos un valor
# lista de alumnos y una lista de notas
alumnos = ["Ana", "Eva", "Pep1"]
notas = [6, 7, 8]
# para definir un diccionario utilizo las llaves {}
# conjunto de pares 'clave' y 'valor'
alumno1 = {
"nombre": "Ana", # clave es 'nombre' y el valor 'Ana'
"nota": 6 # clave es 'nota' y el valor 6
}
print(alumno1)
# como accedo yo a los valores inviduales. mediante la clave
print(alumno1["nombre"])
print(alumno1["nota"])
print(alumno1.get("nota"))
print(alumno1.get("notas", 0)) # si la clave no existe podemos tener un valor por defecto
alumno1["email"] = "ana@ana.com"
print(alumno1)
alumno1["nota"] = 9 # cambio el valor de esa clave
print(alumno1)
alumno2 = {"nombre": "Eva",
"nota": 8,
"nombre": "Pep" # Las claves no pueden estar repetidas. En este caso se sustituye el valor anterior
}
print(alumno2)
# eliminar elementos del diccionario con 'pop'
alumno1.pop("email") # elimina la clave 'email'
print(alumno1)
alumno1.popitem() # elimina la última clave
print(alumno1)
# En python tenemos 'del' para eliminar cualquier variable
del alumno1["nombre"] # nos elimina la clave 'nombre'
print(alumno1)
del alumno1 # nos dejaría si esta variable
alumno2.clear() # vaciar un diccionario
alumno2 = {"nombre": "Eva",
"nota": 8,
"Apellido": "Pi",
"email": "eva@eva.com"
}
# recorrer un diccionario
for elemento in alumno2:
print(elemento) # recorre las claves del diccionario
# Con esto recorro tanto las claves como los valores
for elemento in alumno2:
print(elemento, alumno2[elemento],alumno2.get(elemento)) # recorre las claves del diccionario
# Con esto recorro solo los valores
for elemento in alumno2.values():
print(elemento) # recorre solo los valores
print(alumno2.keys())
# recorro los items que son tuplas y la desempaqueto y la asigno a una clave y un valor
for clave, valor in alumno2.items():
print(clave, valor)
print(alumno2.items())
# Copiar un diccionario igual que una lista, con copy
alumno3 = alumno2.copy()
alumno3["nombre"] = "Juan"
print(alumno3)
# Comprobar que la clave exista
if "nombre" in alumno3:
print(alumno3["nombre"])
# Comprobar que el valor existe
if "Juan" in alumno3.values():
print("Juan es un valor del diccionario")