Volver a la lista

Listas y diccionarios de Python

Aprenderemos con ejemplos las diferencias entre las listas y los diccionarios de Python, y cuándo es apropiado usar cada uno.

Principiante
|
8min
|
Verificado (2026-07)
listadiccionariotipo de datoscolecciónpar clave-valor
Progreso0/18 (0%)

Listas y diccionarios en Python

Al finalizar este tema

Podrás explicar la diferencia entre listas y diccionarios y elegir cuál usar según el caso.


Listas: colecciones ordenadas

Una lista es un contenedor que almacena varios valores en orden. Se crea con corchetes ([]).

python
fruits = ["manzana", "plátano", "uva"]
# Indexación
print(fruits[0]) # 'manzana'
print(fruits[-1]) # 'uva'
# Modificación
fruits[1] = "fresa" # ['manzana', 'fresa', 'uva']
# Añadir y eliminar
fruits.append("mango") # Añade al final
fruits.insert(0, "sandía") # Inserta en la posición 0
fruits.remove("uva") # Elimina por valor
del fruits[0] # Elimina por índice

Las listas son mutables. Después de su creación, se pueden modificar, añadir o eliminar elementos libremente.


Recorrido y procesamiento de listas

python
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
# Iteración
for n in numbers:
print(n, end=" ") # 3 1 4 1 5 9 2 6
# Ordenación
sorted_nums = sorted(numbers) # [1, 1, 2, 3, 4, 5, 6, 9] — conserva el original
numbers.sort() # Ordena el propio original
# Funciones integradas útiles
print(len(numbers)) # 8
print(sum(numbers)) # 31
print(min(numbers)) # 1
print(max(numbers)) # 9
# Comprensión de listas: crea una lista nueva en una línea
squares = [x ** 2 for x in range(5)]
# [0, 1, 4, 9, 16]

La comprensión de listas es una forma de comprimir un bucle for en una sola línea. Es muy común verla en el código Python, por lo que es importante familiarizarse con ella.


Diccionarios: un almacén de búsqueda por nombre

Los diccionarios almacenan datos en pares de clave (key) y valor (value). Se crean utilizando llaves ({}).

python
user = {
"name": "Carlos",
"age": 30,
"email": "hoon@example.com"
}
# Consulta
print(user["name"]) # 'Carlos'
print(user.get("phone")) # None (devuelve None en vez de un error)
# Añadir y modificar
user["phone"] = "010-1234" # Añade si no existe la clave
user["age"] = 31 # Modifica si ya existe
# Eliminación
del user["email"]

Si una lista se busca por "qué posición" (índice), un diccionario se busca por "qué nombre tiene" (clave). Las claves suelen ser cadenas de texto, pero también pueden ser números o tuplas.


Recorrido de diccionarios

python
scores = {"lengua": 90, "inglés": 85, "matemáticas": 95}
# Iteración por claves
for subject in scores:
print(subject) # lengua, inglés, matemáticas
# Iteración simultánea por claves y valores
for subject, score in scores.items():
print(f"{subject}: {score} puntos")
# Iteración solo por valores
total = sum(scores.values())
print(f"Puntuación total: {total}") # 270
# Comprueba si existe una clave
if "ciencias" in scores:
print(scores["ciencias"])
else:
print("No hay puntuación de ciencias")

.items() devuelve pares (clave, valor). .keys() devuelve solo las claves y .values() devuelve solo los valores.


Listas vs. diccionarios: ¿cuándo usar cada uno?

SituaciónOpciónRazón
El orden es importante (1.º, 2.º, 3.º...)ListaGarantiza el orden mediante índices
Se debe buscar por nombre ("name", "age")DiccionarioAcceso inmediato mediante claves
Se permiten valores duplicadosLista[1, 1, 2, 3] es posible
Las claves deben ser únicasDiccionarioInsertar la misma clave dos veces sobrescribe el valor
Búsqueda en 1 millón de registrosDiccionarioBúsqueda por clave O(1) vs. búsqueda en lista O(n)

El patrón más común en la práctica es una lista de diccionarios. Piense en las tablas de una base de datos.

python
users = [
{"name": "Carlos", "age": 30},
{"name": "Ana", "age": 25},
{"name": "Pablo", "age": 35},
]
# Filtra solo personas de 30 años o más
seniors = [u for u in users if u["age"] >= 30]

Los archivos JSON, las respuestas de las API y los archivos de configuración suelen tener este formato de "lista de diccionarios". Si puedes combinar estos dos tipos de datos con fluidez, habrás adquirido las bases del procesamiento de datos en Python.

💬 Preguntas y comentarios

0 comentarios

Puedes publicar sin iniciar sesión. Los comentarios de invitados no pueden editarse ni eliminarse después.

0/2000

Cargando...