Introducción
En este módulo, exploraremos dos estructuras de datos fundamentales en la programación: los diccionarios y los conjuntos. Estas estructuras son esenciales para manejar datos de manera eficiente y realizar operaciones comunes en muchos algoritmos y aplicaciones.
Objetivos
- Comprender qué son los diccionarios y cómo se utilizan.
- Aprender a manipular diccionarios con operaciones básicas.
- Entender qué son los conjuntos y cómo se utilizan.
- Aprender a realizar operaciones con conjuntos.
Diccionarios
¿Qué es un Diccionario?
Un diccionario es una colección de pares clave-valor. Cada clave es única y se utiliza para acceder a su valor correspondiente. Los diccionarios son útiles para almacenar datos que necesitan ser recuperados rápidamente mediante una clave.
Creación de un Diccionario
# Creación de un diccionario vacío mi_diccionario = {} # Creación de un diccionario con elementos mi_diccionario = { "nombre": "Juan", "edad": 30, "ciudad": "Madrid" }
Acceso a Valores
# Acceder a un valor mediante su clave nombre = mi_diccionario["nombre"] print(nombre) # Salida: Juan
Modificación de Valores
# Modificar un valor existente mi_diccionario["edad"] = 31 print(mi_diccionario["edad"]) # Salida: 31
Adición de Nuevos Pares Clave-Valor
# Añadir un nuevo par clave-valor mi_diccionario["profesión"] = "Ingeniero" print(mi_diccionario) # Salida: {'nombre': 'Juan', 'edad': 31, 'ciudad': 'Madrid', 'profesión': 'Ingeniero'}
Eliminación de Pares Clave-Valor
# Eliminar un par clave-valor del mi_diccionario["ciudad"] print(mi_diccionario) # Salida: {'nombre': 'Juan', 'edad': 31, 'profesión': 'Ingeniero'}
Métodos Comunes de Diccionarios
Método | Descripción |
---|---|
keys() |
Devuelve una vista de las claves del diccionario |
values() |
Devuelve una vista de los valores del diccionario |
items() |
Devuelve una vista de los pares clave-valor |
get(clave) |
Devuelve el valor asociado a la clave |
pop(clave) |
Elimina el par clave-valor y devuelve el valor |
Ejemplo Práctico
# Ejemplo de uso de métodos de diccionario mi_diccionario = { "nombre": "Juan", "edad": 30, "ciudad": "Madrid" } # Obtener todas las claves claves = mi_diccionario.keys() print(claves) # Salida: dict_keys(['nombre', 'edad', 'ciudad']) # Obtener todos los valores valores = mi_diccionario.values() print(valores) # Salida: dict_values(['Juan', 30, 'Madrid']) # Obtener todos los pares clave-valor items = mi_diccionario.items() print(items) # Salida: dict_items([('nombre', 'Juan'), ('edad', 30), ('ciudad', 'Madrid')])
Conjuntos
¿Qué es un Conjunto?
Un conjunto es una colección desordenada de elementos únicos. Los conjuntos son útiles para realizar operaciones matemáticas como la unión, intersección y diferencia.
Creación de un Conjunto
# Creación de un conjunto vacío mi_conjunto = set() # Creación de un conjunto con elementos mi_conjunto = {1, 2, 3, 4, 5}
Adición y Eliminación de Elementos
# Añadir un elemento mi_conjunto.add(6) print(mi_conjunto) # Salida: {1, 2, 3, 4, 5, 6} # Eliminar un elemento mi_conjunto.remove(3) print(mi_conjunto) # Salida: {1, 2, 4, 5, 6}
Operaciones con Conjuntos
Operación | Símbolo | Descripción |
---|---|---|
Unión | ` | ` |
Intersección | & |
Devuelve los elementos comunes a ambos conjuntos |
Diferencia | - |
Devuelve los elementos del primer conjunto que no están en el segundo |
Diferencia Simétrica | ^ |
Devuelve los elementos que están en uno u otro conjunto, pero no en ambos |
Ejemplo Práctico
# Ejemplo de operaciones con conjuntos conjunto_a = {1, 2, 3, 4} conjunto_b = {3, 4, 5, 6} # Unión union = conjunto_a | conjunto_b print(union) # Salida: {1, 2, 3, 4, 5, 6} # Intersección interseccion = conjunto_a & conjunto_b print(interseccion) # Salida: {3, 4} # Diferencia diferencia = conjunto_a - conjunto_b print(diferencia) # Salida: {1, 2} # Diferencia Simétrica diferencia_simetrica = conjunto_a ^ conjunto_b print(diferencia_simetrica) # Salida: {1, 2, 5, 6}
Ejercicios Prácticos
Ejercicio 1: Diccionarios
Problema: Crea un diccionario que almacene la información de un estudiante (nombre, edad, curso) y realiza las siguientes operaciones:
- Añade una nueva clave "nota" con el valor 95.
- Modifica la edad del estudiante a 21.
- Elimina la clave "curso".
Solución:
# Creación del diccionario estudiante = { "nombre": "Ana", "edad": 20, "curso": "Matemáticas" } # Añadir una nueva clave "nota" estudiante["nota"] = 95 # Modificar la edad estudiante["edad"] = 21 # Eliminar la clave "curso" del estudiante["curso"] print(estudiante) # Salida: {'nombre': 'Ana', 'edad': 21, 'nota': 95}
Ejercicio 2: Conjuntos
Problema: Dado dos conjuntos de números, realiza las siguientes operaciones:
- Encuentra la unión de los conjuntos.
- Encuentra la intersección de los conjuntos.
- Encuentra la diferencia entre el primer y el segundo conjunto.
Solución:
# Creación de los conjuntos conjunto_1 = {1, 2, 3, 4, 5} conjunto_2 = {4, 5, 6, 7, 8} # Unión union = conjunto_1 | conjunto_2 print(union) # Salida: {1, 2, 3, 4, 5, 6, 7, 8} # Intersección interseccion = conjunto_1 & conjunto_2 print(interseccion) # Salida: {4, 5} # Diferencia diferencia = conjunto_1 - conjunto_2 print(diferencia) # Salida: {1, 2, 3}
Conclusión
En esta sección, hemos aprendido sobre dos estructuras de datos fundamentales: los diccionarios y los conjuntos. Los diccionarios nos permiten almacenar y acceder a datos mediante claves únicas, mientras que los conjuntos nos permiten realizar operaciones matemáticas con colecciones de elementos únicos. Con estos conocimientos, estamos mejor preparados para manejar datos de manera eficiente en nuestros programas.
En el próximo módulo, exploraremos algoritmos básicos, incluyendo algoritmos de búsqueda y ordenamiento, y la recursión. ¡Sigue adelante!
Fundamentos de la Programación
Módulo 1: Introducción a la Programación
- ¿Qué es la programación?
- Historia de la programación
- Lenguajes de programación
- Entornos de desarrollo