Diccionarios y Métodos de Diccionario
Los diccionarios son quizás la estructura de datos más versátil de Python. Almacenan datos como pares clave-valor y son esenciales en situaciones donde los datos deben recuperarse rápidamente y las modificaciones son frecuentes.
En nuestro escenario de tienda de comestibles, los diccionarios podrían gestionar de manera eficiente la información de los proveedores, permitiendo acceder a cada proveedor por su nombre o ID sin necesidad de buscar en una lista.
Observa cómo Alex demuestra el uso de diccionarios para nuestra tienda de comestibles:
Creación
Los diccionarios se crean encerrando pares clave-valor separados por comas entre llaves {}
.
python
Orden
Los diccionarios preservan el orden de inserción de sus elementos, aunque es importante destacar que las operaciones suelen realizarse basándose en las claves y no en la posición.
Mutabilidad (Capacidad de cambio)
Los diccionarios son mutables, lo que permite agregar, actualizar o eliminar pares clave-valor después de que el diccionario ha sido creado;
Nota
Aunque los diccionarios permiten múltiples valores, cada clave debe ser única dentro de un diccionario. Si una clave se repite durante la asignación, el valor más reciente sobrescribirá al anterior, asegurando que cada clave tenga solo un valor correspondiente.
Ejemplos
Veamos un diccionario simple. En lugar de usar números de índice, se accede a los elementos del diccionario a través de sus claves, que, en este caso, son los nombres de los artículos de la compra.
# Dictionary creation groceryItems = { "Milk": 3.49, "Eggs": 2.99, "Bread": 1.99, "Apples": 0.99 } # Extracting dictionary elements by their keys print("Price of Milk:", groceryItems["Milk"]) print("Price of Bread:", groceryItems["Bread"])
Los diccionarios en Python son flexibles en cuanto a los tipos de datos que pueden almacenar.
La única restricción es que las claves deben ser de un tipo inmutable (como strings
, numbers
o tuples
que contengan solo elementos inmutables). Esto garantiza que la clave permanezca sin cambios.
Por otro lado, los valores del diccionario pueden ser de cualquier tipo e incluso pueden incluir tipos mutables, como listas u otros diccionarios.
Por ejemplo:
# A dictionary with various types of keys and values store_info = { "Store Name": "Grocery Galore", # String key and string value 42: "Inventory Count", # Integer key and string value ("Bread", "Milk"): [2.99, 1.59] # Tuple key and list value (prices of bread and milk) } # Extracting dictionary element (list) by its key (tuple) print("Data under key ('Bread', 'Milk'):", store_info[("Bread", "Milk")])
Métodos de diccionario
Los diccionarios ofrecen una variedad de operaciones y métodos que facilitan la gestión eficiente de datos. A continuación, se presentan algunos de los métodos más utilizados:
get()
: recupera el valor para una clave especificada y, si la clave no se encuentra, devuelveNone
. Esto es diferente al uso de corchetes (por ejemplo,grocery_items["Milk"]
), que generaría un error si la clave no existe;update()
: actualiza el diccionario con elementos de otro diccionario o de un iterable de pares clave-valor, sobrescribiendo las claves existentes;pop()
: elimina una clave especificada y devuelve el valor correspondiente.
Nota
En Python,
None
es un valor especial que significa "nada" o "sin valor", y se utiliza frecuentemente para indicar que algo está vacío o no tiene resultado.
Aplicación de ejemplo
Supón que necesitas actualizar el diccionario para el inventario de tu tienda de comestibles. Así es como puedes hacerlo utilizando métodos de diccionario:
# Dictionary for a grocery store inventory inventory = { "Apples": 30, "Oranges": 18, "Bananas": 45 } # Get the count of Oranges print("Count of Oranges:", inventory.get("Oranges")) # Update inventory by adding a new item inventory.update({"Mangoes": 20}) print("Updated Inventory:", inventory) # You can also add a new item to the end of the dictionary like this inventory["Pineapples"] = 15 print("Updated Inventory:", inventory) # Remove Bananas from the inventory removed_item = inventory.pop("Bananas") print("Removed Item:", removed_item) print("Current Inventory:", inventory)
Swipe to start coding
Gestionar el inventario de una tienda de comestibles utilizando un diccionario, donde cada artículo es un par clave-valor con el nombre del producto y sus detalles (ID de producto y categoría).
-
Definir un diccionario
grocery_inventory
para almacenar la información:- "Milk": (113, "Dairy")
- "Eggs": (116, "Dairy")
- "Bread": (117, "Bakery")
- "Apples": (141, "Produce")
-
Recuperar los detalles del artículo
"Bread"
del diccionario y almacenarlos en la variablebread_details
. -
Agregar un nuevo artículo,
"Cookies"
, con ID de producto143
y categoría"Bakery"
. -
Eliminar el artículo
"Eggs"
del diccionario.
Requisitos de salida
- Imprimir los detalles de
"Bread"
:Details of Bread: <$bread_details>
. - Después de agregar
"Cookies"
, imprimir el inventario actualizado:Inventory after adding Cookies: <$grocery_inventory>
. - Después de eliminar
"Eggs"
, imprimir el inventario actualizado:Inventory after removing Eggs: <$grocery_inventory>
.
Solución
¡Gracias por tus comentarios!