Administrar Diccionarios en Python

PythonBeginner
Practicar Ahora

Introducción

En este laboratorio, obtendrá experiencia práctica con los diccionarios de Python, una estructura de datos esencial para almacenar información como pares clave-valor. Aprenderá a crear e inspeccionar diccionarios, acceder y modificar sus elementos, agregar y eliminar ítems, y trabajar con objetos de vista de diccionario (dictionary view objects). Al finalizar este laboratorio, dominará la realización de operaciones comunes con diccionarios.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 100%. Ha recibido una tasa de reseñas positivas del 100% por parte de los estudiantes.

Crear e Inspeccionar Diccionarios

En este paso, aprenderá a crear e inspeccionar diccionarios. Un diccionario es una colección de pares clave-valor donde cada clave debe ser única. Los diccionarios se crean con llaves {} o con el constructor dict(). Desde Python 3.7, los diccionarios mantienen el orden en el que se insertaron los elementos.

Primero, abra el archivo main.py desde el explorador de archivos en el lado izquierdo del editor de VS Code.

Agregue el siguiente código a main.py. Este script demuestra varias formas de crear un diccionario.

## Create an empty dictionary using curly braces
empty_dict = {}
print(f"Empty dictionary: {empty_dict}")
print(f"Type of empty_dict: {type(empty_dict)}")

## Create a dictionary with initial key-value pairs
student_info = {'name': 'Alice', 'age': 25, 'major': 'Computer Science'}
print(f"\nStudent info: {student_info}")

## Create a dictionary using the dict() constructor with keyword arguments
student_info_kw = dict(name='Bob', age=22, major='Physics')
print(f"Student info (from keywords): {student_info_kw}")

## Create a dictionary from a list of key-value tuples
student_info_tuples = dict([('name', 'Charlie'), ('age', 28), ('major', 'Chemistry')])
print(f"Student info (from tuples): {student_info_tuples}")

Después de agregar el código, guarde el archivo presionando Ctrl + S.

Ahora, ejecute el script abriendo una terminal en el editor de VS Code (Ctrl + ~) y ejecutando el siguiente comando:

python main.py

Debería ver la siguiente salida, que muestra los diferentes diccionarios que creó:

Empty dictionary: {}
Type of empty_dict: <class 'dict'>

Student info: {'name': 'Alice', 'age': 25, 'major': 'Computer Science'}
Student info (from keywords): {'name': 'Bob', 'age': 22, 'major': 'Physics'}
Student info (from tuples): {'name': 'Charlie', 'age': 28, 'major': 'Chemistry'}

Este paso le ha enseñado las formas fundamentales de crear diccionarios en Python, tanto vacíos como con datos iniciales.

Acceder y Modificar Elementos del Diccionario

En este paso, aprenderá a acceder y modificar elementos dentro de un diccionario. Puede recuperar un valor haciendo referencia a su clave entre corchetes [].

Primero, borre el contenido anterior de main.py. Luego, agregue el siguiente código al archivo. Este script demuestra cómo acceder y modificar datos del diccionario.

## Define a sample dictionary
student_info = {'name': 'Alice', 'age': 25, 'major': 'Computer Science'}
print(f"Original dictionary: {student_info}")

## Access elements using square brackets
student_name = student_info['name']
print(f"\nStudent Name: {student_name}")

## Using the get() method to access an element
student_age = student_info.get('age')
print(f"Student Age (using get()): {student_age}")

## The get() method can provide a default value if the key is not found
student_city = student_info.get('city', 'Not Specified')
print(f"Student City (with default): {student_city}")

## Modify the value of an existing key
print(f"\nOriginal age: {student_info['age']}")
student_info['age'] = 26
print(f"Modified age: {student_info['age']}")

print(f"\nUpdated dictionary: {student_info}")

Guarde el archivo (Ctrl + S) y ejecute el script desde la terminal:

python main.py

La salida muestra cómo recuperar valores y cómo se ve el diccionario después de una modificación:

Original dictionary: {'name': 'Alice', 'age': 25, 'major': 'Computer Science'}

Student Name: Alice
Student Age (using get()): 25
Student City (with default): Not Specified

Original age: 25
Modified age: 26

Updated dictionary: {'name': 'Alice', 'age': 26, 'major': 'Computer Science'}

Tenga en cuenta que usar corchetes [] para acceder a una clave inexistente generará un KeyError, mientras que get() proporciona una forma más segura de acceder a claves que podrían no existir.

Añadir y Eliminar Elementos del Diccionario

Este paso cubre cómo agregar nuevos elementos a un diccionario y cómo eliminar los existentes. Puede agregar un nuevo par clave-valor asignando un valor a una nueva clave.

Reemplace el contenido de main.py con el siguiente código. Este script demuestra el ciclo de vida completo de los elementos del diccionario: agregarlos, actualizarlos y eliminarlos de varias maneras.

## Define a sample dictionary
student_info = {'name': 'Alice', 'age': 26, 'major': 'Computer Science'}
print(f"Initial dictionary: {student_info}")

## Add a new key-value pair
student_info['city'] = 'New York'
print(f"After adding 'city': {student_info}")

## Delete an element using pop()
## pop() removes the key and returns its value
removed_major = student_info.pop('major')
print(f"\nRemoved major: {removed_major}")
print(f"After pop('major'): {student_info}")

## Delete the last inserted element using popitem()
## popitem() removes and returns the (key, value) pair
removed_item = student_info.popitem()
print(f"\nRemoved item: {removed_item}")
print(f"After popitem(): {student_info}")

## Delete an element using the 'del' statement
del student_info['age']
print(f"\nAfter del student_info['age']: {student_info}")

## The clear() method removes all elements from the dictionary
student_info.clear()
print(f"After clear(): {student_info}")

Guarde el archivo (Ctrl + S) y ejecute el script:

python main.py

La salida mostrará el diccionario en cada etapa de modificación:

Initial dictionary: {'name': 'Alice', 'age': 26, 'major': 'Computer Science'}
After adding 'city': {'name': 'Alice', 'age': 26, 'major': 'Computer Science', 'city': 'New York'}

Removed major: Computer Science
After pop('major'): {'name': 'Alice', 'age': 26, 'city': 'New York'}

Removed item: ('city', 'New York')
After popitem(): {'name': 'Alice', 'age': 26}

After del student_info['age']: {'name': 'Alice'}
After clear(): {}

En este paso, ha aprendido a agregar nuevos elementos y cómo eliminarlos usando pop(), popitem(), del y clear().

Explorar Objetos de Vista de Diccionario

En este paso, explorará los objetos de vista de diccionario. Estos son objetos dinámicos que proporcionan una vista de las claves, los valores o los ítems de un diccionario. Cualquier cambio en el diccionario se refleja inmediatamente en la vista.

Reemplace el contenido de main.py con el siguiente código:

## Define a sample dictionary
student_info = {'name': 'Alice', 'age': 26, 'major': 'Computer Science'}
print(f"Original dictionary: {student_info}\n")

## Get the view objects
keys_view = student_info.keys()
values_view = student_info.values()
items_view = student_info.items()

print(f"Keys View: {keys_view}")
print(f"Values View: {values_view}")
print(f"Items View: {items_view}")

## Views are dynamic and reflect dictionary changes
print("\n--- Modifying Dictionary ---")
student_info['city'] = 'New York'
print(f"Dictionary after adding 'city': {student_info}")
print(f"Keys View after modification: {keys_view}")
print(f"Values View after modification: {values_view}")

## You can iterate over view objects
print("\n--- Iterating over Keys View ---")
for key in keys_view:
    print(key)

## You can convert views to other data types like lists
keys_list = list(keys_view)
print(f"\nKeys view converted to a list: {keys_list}")

Guarde el archivo (Ctrl + S) y ejecute el script:

python main.py

La salida demuestra la creación, la naturaleza dinámica y la iteración de los objetos de vista:

Original dictionary: {'name': 'Alice', 'age': 26, 'major': 'Computer Science'}

Keys View: dict_keys(['name', 'age', 'major'])
Values View: dict_values(['Alice', 26, 'Computer Science'])
Items View: dict_items([('name', 'Alice'), ('age', 26), ('major', 'Computer Science')])

--- Modifying Dictionary ---
Dictionary after adding 'city': {'name': 'Alice', 'age': 26, 'major': 'Computer Science', 'city': 'New York'}
Keys View after modification: dict_keys(['name', 'age', 'major', 'city'])
Values View after modification: dict_values(['Alice', 26, 'Computer Science', 'New York'])

--- Iterating over Keys View ---
name
age
major
city

Keys view converted to a list: ['name', 'age', 'major', 'city']

Este paso le ha mostrado cómo usar keys(), values() e items() para obtener vistas dinámicas del contenido de un diccionario, lo cual es útil para muchas tareas de programación.

Resumen

En este laboratorio, adquirió experiencia práctica con los diccionarios de Python. Comenzó creando diccionarios usando llaves {} y el constructor dict(). Luego aprendió a acceder y modificar elementos del diccionario usando la notación de corchetes [] y el método get(). A continuación, practicó la adición de nuevos pares clave-valor y su eliminación con varios métodos, incluidos pop(), popitem(), la instrucción del y clear(). Finalmente, exploró las vistas dinámicas de diccionario (keys(), values() e items()), comprendiendo cómo reflejan los cambios en el diccionario y cómo iterar sobre ellas.