Listas y diccionarios
📚 Listas y Diccionarios en Python
En Python, las listas y los diccionarios son dos de las estructuras de datos más importantes y utilizadas. Permiten almacenar colecciones de datos de manera organizada y accesible. Dominar estas estructuras es fundamental para cualquier programador que trabaje con Python.
¿Qué son las Listas?
Una lista es una colección ordenada y mutable de elementos. Puedes pensar en ella como una fila de cajas numeradas, donde cada caja contiene un valor. Las listas se definen usando corchetes [] y los elementos se separan por comas.
💡 Recuerda: Las listas en Python pueden contener elementos de diferentes tipos de datos (números, cadenas, booleanos, e incluso otras listas).
Creando y manipulando listas
Crear una lista:
frutas = ["manzana", "banana", "cereza"]
numeros = [1, 2, 3, 4, 5]
Acceder a elementos:
primera_fruta = frutas[0]# "manzana"
ultimo_numero = numeros[-1]# 5
Modificar elementos:
frutas[1] = "uva"
numeros.append(6)# Agrega al final
Eliminar elementos:
frutas.remove("manzana")# Por valor
del numeros[0]# Por índice
Métodos principales de las listas
| Método | Descripción | Ejemplo |
|---|---|---|
append() | Agrega un elemento al final | lista.append(7) |
insert() | Inserta en una posición específica | lista.insert(0, "inicio") |
remove() | Elimina la primera ocurrencia | lista.remove(3) |
pop() | Elimina y retorna un elemento | lista.pop(-1) |
sort() | Ordena la lista | lista.sort() |
len() | Retorna la longitud | len(lista) |
¿Qué son los Diccionarios?
Un diccionario es una colección de pares clave-valor, desordenada y mutable. Cada elemento tiene una clave única y un valor asociado. Se definen usando llaves {} con la sintaxis clave: valor.
🎯 Diferencia clave: Mientras que las listas acceden a elementos por su posición (índice), los diccionarios acceden a elementos por su clave. Esto hace que los diccionarios sean ideales para representar datos estructurados como registros.
Creando y manipulando diccionarios
Crear un diccionario:
persona = {"nombre": "Ana", "edad": 28, "ciudad": "Madrid"}
Acceder a valores:
nombre = persona["nombre"]# "Ana"
edad = persona.get("edad")# 28 (más seguro)
Agregar o modificar:
persona["profesion"] = "Ingeniera"
persona["edad"] = 29# Modifica existente
Eliminar elementos:
del persona["ciudad"]
profesion = persona.pop("profesion")
Iterar sobre el diccionario:
for clave in persona:
print(clave, persona[clave])
Métodos principales de los diccionarios
| Método | Descripción | Ejemplo |
|---|---|---|
keys() | Retorna todas las claves | persona.keys() |
values() | Retorna todos los valores | persona.values() |
items() | Retorna pares clave-valor | persona.items() |
get() | Obtiene valor con clave (evita errores) | persona.get("edad") |
update() | Actualiza con otro diccionario | persona.update({"pais": "España"}) |
clear() | Elimina todos los elementos | persona.clear() |
⚠️ Precaución: Las claves de un diccionario deben ser inmutables (strings, números, tuplas). No puedes usar listas como claves porque son mutables.
Ejemplo práctico combinado
# Lista de diccionarios: una base de datos simple
estudiantes = [
{"nombre": "Carlos", "materias": ["Matemáticas", "Física"]},
{"nombre": "María", "materias": ["Historia", "Arte"]},
{"nombre": "Luis", "materias": ["Química", "Biología"]}
]
# Acceder al segundo estudiante y su primera materia
print(estudiantes[1]["nombre"]) # María
print(estudiantes[1]["materias"][0]) # Historia
# Agregar una nueva materia a Carlos
estudiantes[0]["materias"].append("Programación")
print(estudiantes[0]["materias"]) # ["Matemáticas", "Física", "Programación"]
💡 Consejo profesional: Combinar listas y diccionarios es muy común en Python. Una lista de diccionarios es perfecta para representar tablas de datos, mientras que los diccionarios pueden contener listas como valores para datos más complejos.
📝 Pregunta de práctica
¿Cuál sería el resultado de ejecutar este código?
datos = {"a": [1, 2, 3], "b": [4, 5, 6]}
print(datos["a"][1] + datos["b"][2])Respuesta correcta: 8 (suma 2 + 6)
Resumen
Las listas y los diccionarios son herramientas fundamentales en Python:
- Las listas son ideales para colecciones ordenadas donde el orden importa y accedes por índice.
- Los diccionarios son perfectos para datos estructurados donde accedes por claves descriptivas.
- Ambas estructuras son mutables: puedes agregar, modificar y eliminar elementos.Puedes combinarlas para crear estructuras de datos complejas y poderosas.
🏆 Domina estas estructuras y tendrás una base sólida para trabajar con cualquier tipo de datos en Python. ¡La práctica es la clave!