10. Estructuras de datos: diccionarios.
Unidad 10
Estructuras de datos: Diccionario
Una estructura de datos muy utilizada en Python es el diccionario, o 'dict'. Se trata de pares de key-values o claves y sus valores, asociados, que guardan la información en la estructura.
datos = {"a": 1, "b": 2, "c": 3}
Acceder a los elementos
Obtenemos los valores en un diccionario, accediendo por su clave:
x = datos["a"]
También podemos usar el método get():
x = datos.get("a")
Actualizar datos
Podemos actualizar los datos de un determinado elemento, refiriéndolo por su clave:
datos["b"] = 5
Recorrer todos los datos de un diccionario
Para iterar los elementos de un diccionario, los recorremos utilizando la estructura for. Cuando pasamos por sus elementos de esta manera, el elemento que obtenemos es la clave.
for x in datos: print(x)
Para iterar los valores, debemos hacer:
for x in datos: print(datos[x])
O también:
for x in datos.values(): print(x)
También tenemos la posibilidad, muy útil a veces, de obtener ambos valores clave y valor en cada iteración:
for x, y in datos.items(): print(x, y)
Chequear la existencia de una clave
Esta utilidad es muy importante, ya que si queremos acceder a una clave que no existe obtendremos un error.
print(datos["e"]) if "c" in datos: print("La clave 'c' existe en el diccionario datos.")
Agregando elementos
Para agregar datos al diccionario, simplemente referenciamos la nueva clave asignándole un valor:
datos["d"] = 10
Eliminar un elemento
Al igual que con las listas, para eliminar elementos hay varias formas:
datos.pop("b") # Elimina el elemento indicado datos.popitem() # Elimina el último elemento del datos["c"] # Elimina el elemento indicado datos.clear() # Vacía por completo el diccionario del datos # Elimina todo el objeto diccionario
Copiar diccionarios
Con los tipos de datos que conocíamos hasta el momento, podíamos copiar un elemento simplemente asignándolo a uno nuevo. Pero con los diccionarios, esto no funciona, ya que solamente estaríamos copiando su referencia. Para copiarlo completamente, debemos utilizar el método copy().
nuevoDicc = datos.copy() print(nuevoDicc)
Ejercicios
1- Dada la siguiente estructura inicial de un programa Python, completar el código necesario para mostrar los elementos, agregar uno nuevo, modificar uno existente, eliminar uno y para salir. Como clave del diccionario utilizaremos el nombre del libro, y como valor, el nombre de la persona a quien se lo prestamos.
print("Archivo de libros prestados") salir = False while not salir: print("Elija la función a ejecutar:") print("1: Mostrar datos") print("2: Agregar elemento") print("3: Modificar elemento") print("4: Eliminar elemento") print("5: Salir") opcion = input("Elección: ") libros = {} if opcion == "1": elif opcion == "2": elif opcion == "3": elif opcion == "4": elif opcion == "5":
2- Idealmente, al realizar el ejercicio anterior, cada parte del código podemos agregarlo como una nueva función de forma que el código quede más ordenado y legible.