Elegir entre lista, tupla, diccionario y conjunto según el acceso y la mutabilidad que exige el problema
Manipular listas con indexación, rebanadas, ordenación con clave y métodos de inserción y borrado
Construir diccionarios anidados para representar registros y recorrerlos con items y get
Aplicar conjuntos para eliminar duplicados y calcular uniones, intersecciones y diferencias
Escribir comprensiones de lista y de diccionario que sustituyan bucles de varias líneas
Reconocer el efecto de la copia superficial y usar copy y deepcopy cuando corresponde
Estimar el coste de una búsqueda en lista frente a una búsqueda en diccionario
Contenido del curso
7 módulos · 33 clases en vídeo · práctica guiada en cada módulo
Módulo 1 · Punto de partida4 clases
Por qué la estructura de datos decide el rendimiento
Repaso rápido de tipos básicos y de bucles
Mutable frente a inmutable
Preparación del entorno y de los ficheros de ejemplo
Módulo 2 · Listas6 clases
Creación, indexación y rebanadas
Añadir, insertar, extraer y eliminar elementos
Ordenar con sort, sorted y el parámetro key
Listas de listas y matrices sencillas
Copia superficial, copia profunda y alias
Ejercicio: tratamiento de una serie de lecturas
Módulo 3 · Tuplas y desempaquetado4 clases
Cuándo una tupla comunica mejor la intención
Desempaquetado múltiple y en bucles
Tuplas como clave de diccionario
namedtuple para registros legibles
Módulo 4 · Diccionarios6 clases
Claves, valores y acceso con get
Recorridos con keys, values e items
Diccionarios anidados para representar registros
Recuento y agrupación por clave
defaultdict y Counter
Ejercicio: resumen por categoría de un conjunto de registros
Módulo 5 · Conjuntos5 clases
Eliminar duplicados sin bucles
Unión, intersección y diferencia
Pertenencia y coste de la búsqueda
Conjuntos inmutables con frozenset
Ejercicio: comparación de dos listados de referencias
Módulo 6 · Comprensiones y funciones auxiliares4 clases
Comprensión de lista con filtro y transformación
Comprensiones de diccionario y de conjunto
zip, enumerate y any/all
Cuándo una comprensión deja de ser legible
Módulo 7 · Proyecto de cierre4 clases
Enunciado: consolidar tres listados con duplicados y campos incompletos
Elección justificada de estructuras
Implementación y comprobación de resultados
Comparación de una versión lenta y una rápida
Requisitos
Haber programado en Python a nivel de variables, condicionales, bucles y funciones
Saber ejecutar un cuaderno o un script en el propio equipo
No se necesita ningún conocimiento previo de algoritmia formal
Descripción
Un programa que funciona con diez elementos puede volverse inservible con cien mil, y casi siempre el motivo es la estructura de datos elegida. Buscar dentro de una lista en cada vuelta de un bucle, duplicar información por no usar un conjunto o modificar sin querer una lista compartida son errores que no dan mensaje de error: dan resultados lentos o silenciosamente equivocados.
El curso recorre las cuatro estructuras básicas de Python con el criterio de un programador con oficio: qué operaciones son baratas, cuáles son caras, cuándo conviene la inmutabilidad y cómo se combinan para representar datos reales. Cada estructura se practica con casos de tratamiento de registros, recuentos, agrupaciones y deduplicación, y se comparan versiones lentas y rápidas del mismo programa.
Con esta base, el salto a ficheros, a bases de datos o a Pandas deja de ser un cambio de sintaxis y pasa a ser una extensión de lo mismo. También prepara para leer código ajeno, donde las comprensiones y los diccionarios anidados aparecen constantemente.
¿Para quién es este curso?
Personas que ya escriben Python básico y quieren dejar de resolverlo todo con listas y bucles anidados
Alumnado de ciclos superiores de Informática que prepara pruebas de programación con datos reales
Desarrolladores que llegan desde otro lenguaje y necesitan las estructuras idiomáticas de Python
Disponible
Contenido ya grabado y publicado en el campus. Puedes empezar en cuanto te inscribas.
Fundamentos del lenguaje, orientación a objetos, ficheros, concurrencia y tests, y después análisis y visualización de datos con NumPy, Pandas, Matplotlib y Seaborn.
Este sitio web utiliza cookies propias y de terceros para recopilar información con finalidad técnica. No se recaban ni ceden datos de carácter personal sin tu consentimiento. Más información en la política de cookies.