# Un diccionario es una estructura de datos que almacena un conjunto de pares
# clave, valor
# Es decir, no son valores únicos, sino que se componen de una clave y de un valor
# La clave es inmutable y el valor no
persona = {
"nombre": "Ana",
"edad": 30,
"profesion": "Ingeniera"
}
print(persona)
print(persona["edad"]) # 30
persona["edad"] = 32
print(persona)
persona["sueldo"] = 5000
print(persona)
# print(persona["foo"]) # Da error porque no hay esa clave
print(persona.get("foo")) # NO da error aunque no hay esa clave
print(persona.get("foo", "Sin valor")) # NO da error aunque no hay esa clave y le doy un valor por defecto
# probad a crear un diccionario para un alumno que tenga nombre, nota y curso
alumno = {
"nombre": "Ana",
"nota": 8,
"curso": "Bachillerato"
}
print(alumno.keys()) # Me devuelve todas las claves
print(alumno.values()) # Me devuelve todos los valores
print(alumno.items()) # Me devuelve todos los pares clave,valor
# recorrer un diccionario
for clave, valor in alumno.items():
print(f"La clave {clave} tiene el valor {valor}")
for i in alumno.items():
print(i)
# 1. Crear un diccionario con libros y su cantidad en inventario
inventario = {
"Cien años de soledad": 4,
"El Principito": 10,
"1984": 6
}
# 2. Añadir un nuevo libro
inventario["Don Quijote"] = 3
# 3. Modificar la cantidad de un libro existente
inventario["1984"] = 8
# 4. Eliminar un libro del inventario
del inventario["El Principito"] # inventario.pop("El Principito")
# 5. Recorrer el diccionario e imprimir el inventario
print("Inventario actual:")
for titulo, cantidad in inventario.items():
print(f"{titulo}: {cantidad} ejemplares")
# 6. Obtener solo los títulos disponibles
titulos = [titulo for titulo in inventario]
print("\nTítulos disponibles:", titulos)
# 7. Crear una lista de libros con más de 5 ejemplares
populares = [titulo for titulo, cantidad in inventario.items() if cantidad > 5]
print("\nLibros populares (más de 5 ejemplares):", populares)
# 8. Crear un nuevo diccionario con solo los libros escasos (3 o menos)
escasos = {titulo: cantidad for titulo, cantidad in inventario.items() if cantidad <= 3}
print("\nLibros escasos:", escasos)