Skip to content

Python de Cero a Pro - Cap. 10 Colecciones y Tipos de Colecciones

¡Hola! En este capítulo, exploraremos un tema fundamental para organizar datos en Python: las colecciones. Las colecciones son estructuras que nos permiten agrupar múltiples valores de manera eficiente, lo que es esencial para construir programas complejos y bien estructurados.

Volver a Página Principal

Ver Codigo en GitLab


Módulo 10: Colecciones y Tipos de Colecciones 📦

Section titled “Módulo 10: Colecciones y Tipos de Colecciones 📦”

En Python, existen varios tipos de colecciones, cada una con sus propias características y casos de uso. Las más importantes son las listas, las tuplas, los diccionarios y los conjuntos.

Las listas son la colección más versátil y común en Python. Son ordenadas y mutables, lo que significa que puedes modificar, agregar o eliminar elementos después de su creación.

CaracterísticaDescripción
OrdenadasLos elementos tienen un orden definido y pueden ser accedidos por su índice.
MutablesSe pueden modificar, añadir o eliminar elementos.
IndexablesSe puede acceder a los posición de los elementos por un índice.
HeterogéneasPueden contener elementos de diferentes tipos de datos.
# Creación de una lista de nombres
nombres = ["Juan", "Ana", "Pedro"]
# Acceder a un elemento por su índice (el índice empieza en 0)
print(nombres[0]) # Salida: Juan
# Modificar un elemento
nombres[1] = "Andrea"
print(nombres) # Salida: ['Juan', 'Andrea', 'Pedro']
# Métodos comunes
nombres.append("Luis") # Añadir un elemento al final
print(nombres) # Salida: ['Juan', 'Andrea', 'Pedro', 'Luis']
nombres.remove("Pedro") # Eliminar un elemento por su valor
print(nombres) # Salida: ['Juan', 'Andrea', 'Luis']
# Obtener la longitud de la lista
print(len(nombres)) # Salida: 3

Las tuplas son similares a las listas, pero son inmutables. Una vez que se crea una tupla, sus elementos no pueden ser modificados, añadidos o eliminados. Son ideales para almacenar datos que no deben cambiar.

CaracterísticaDescripción
OrdenadasLos elementos tienen un orden definido y se puede acceder a ellos por su índice.
InmutablesNo se pueden modificar. Esto las hace más seguras y eficientes.
HeterogéneasPueden contener elementos de diferentes tipos de datos.
# Creación de una tupla de coordenadas
coordenadas = (10.0, 20.5)
# Acceder a un elemento
print(coordenadas[0]) # Salida: 10.0
# Intentar modificar una tupla generará un error
# coordenadas[0] = 15.0 # TypeError: 'tuple' object does not support item assignment

Los diccionarios son colecciones desordenadas que almacenan datos en pares de clave-valor. Las claves deben ser únicas e inmutables, lo que las hace perfectas para buscar información rápidamente.

CaracterísticaDescripción
Pares clave-valorCada elemento consiste en una clave única y su valor asociado.
No ordenadasA diferencia de las listas y tuplas, los elementos no tienen un índice numérico.
MutablesSe pueden agregar, modificar o eliminar pares clave-valor.
# Creación de un diccionario para un usuario
usuario = {
"nombre": "Ana",
"edad": 30,
"ciudad": "Barcelona"
}
# Acceder a un valor a través de su clave
print(usuario["nombre"]) # Salida: Ana
# Modificar un valor
usuario["edad"] = 31
print(usuario) # Salida: {'nombre': 'Ana', 'edad': 31, 'ciudad': 'Barcelona'}
# Agregar un nuevo par clave-valor
usuario["país"] = "España"
print(usuario) # Salida: {'nombre': 'Ana', 'edad': 31, 'ciudad': 'Barcelona', 'país': 'España'}

Los conjuntos son colecciones desordenadas de elementos únicos. Son útiles para operaciones matemáticas como la unión, intersección y diferencia, y para eliminar elementos duplicados de otras colecciones.

CaracterísticaDescripción
No ordenadasLos elementos no tienen un índice.
Elementos únicosNo permiten valores duplicados.
MutablesSe pueden agregar o eliminar elementos.
# Creación de un conjunto (los duplicados se eliminan automáticamente)
numeros_duplicados = [1, 2, 2, 3, 4, 4, 5]
conjunto_numeros = set(numeros_duplicados)
print(conjunto_numeros) # Salida: {1, 2, 3, 4, 5}
# Operaciones de conjuntos
letras_a = {"a", "b", "c"}
letras_b = {"c", "d", "e"}
# Unión de conjuntos
union = letras_a.union(letras_b)
print(union) # Salida: {'a', 'b', 'c', 'd', 'e'}
# Intersección de conjuntos
interseccion = letras_a.intersection(letras_b)
print(interseccion) # Salida: {'c'}