← Lumbre

Fundamentos de Programación · 1.º Diccionarios y conjuntos

← Volver a todos los contenidos
Portada de Diccionarios y conjuntos

Diccionarios y conjuntos

✦ Muchos problemas no tratan con listas ordenadas sino con relaciones: a este cliente, esta dirección; a esta palabra, su conteo · Fundamentos de Programación · Programación · en 5 minutos

Roadwise Consulting

Firmado y verificado · Fernando Castro

Objetivo: Usar diccionarios para asociar claves y valores y conjuntos para trabajar con unicidad y operaciones entre colecciones.

5 min 18–30 años
Autoevaluación
Más
Diccionarios y conjuntos

Herramientas de la lección

◉ Entrar a La Matrix Sorpréndeme

Sobre este contenido

Ir a

Volver a Objetos Cursos Explorar Mi cuenta Salir del modo estudio

Diccionarios y conjuntos

Un diccionario guarda pares de clave y valor. Las claves son únicas e inmutables, y dan acceso casi instantáneo al valor asociado. Un registro con nombre y edad se representa como un diccionario con dict y esas dos llaves.

Diccionarios y conjuntos en Python para principiantes
Cómo asociar claves y valores y trabajar con colecciones sin duplicados.

Crear y acceder

  • Crear con dict o asignando una clave nueva.
  • Acceder con corchetes; si falta la clave, error, o get si se quiere un valor por defecto.
  • Actualizar es simplemente volver a asignar la misma clave.

Recorrer un diccionario

  • Iterar sobre las claves es el comportamiento por defecto.
  • items devuelve pares clave y valor a la vez.
  • values y keys dan vistas de una sola mitad.

Cuándo es la herramienta correcta

Cuando necesitas buscar por un identificador arbitrario (una matrícula, un correo, un código) en lugar de por posición. El diccionario convierte ese acceso en algo directo y veloz.

Los conjuntos y su propiedad clave

Un conjunto es una colección sin orden y sin duplicados. No tiene sentido indexarlo: su razón de ser es saber si un elemento pertenece, cuántos hay y solapar grupos.

Eliminar duplicados

  • Pasar una lista a conjunto elimina los repetidos de un golpe.
  • Conviene volver a lista si se necesita de nuevo el orden.
  • Es el truco más corto para contar valores distintos.

Operaciones entre conjuntos

  • Unión: todo lo que está en uno o en el otro.
  • Intersección: solo lo compartido.
  • Diferencia: lo que hay en uno sin estar en el otro.

Pertenencia veloz

Comprobar si un valor está en un conjunto es mucho más rápido que buscarlo dentro de una lista, sobre todo cuando el tamaño crece. Esa ventaja decide usar un conjunto como memoria de lo ya visto.

Claves válidas

  • Las claves de un diccionario y los elementos de un conjunto deben ser inmutables.
  • Una lista no puede ser clave porque podría cambiar y romper la identificación.
  • Números, cadenas y tuplas de elementos inmutables sí valen.
Etiquetas enlazadas a tarjetas de valor y un circulo con puntos distintos filtrando los repetidos
El diccionario asocia una etiqueta a un valor; el conjunto guarda elementos únicos sin orden.

Contadores y agrupaciones

Contar frecuencias de palabras es un diccionario que se incrementa por clave; agrupar registros bajo una etiqueta es un diccionario de listas. Son dos de los patrones más repetidos en limpieza de datos.

Errores habituales

  • Acceder a una clave ausente con corchetes y provocar un error en vez de usar get.
  • Suponer orden en un conjunto o en las claves de un diccionario donde no lo necesitas.
  • Intentar meter una lista como elemento de un conjunto y recibir un rechazo.

Ejemplo resuelto: quiénes recibieron ambos mensajes

Tienes un grupo de clientes contactados por correo y otro por SMS, y necesitas saber quiénes recibieron ambos. Se resuelve con conjuntos.

  1. Guardar cada grupo como un conjunto de identificadores, que elimina duplicados automáticamente.
  2. Aplicar la intersección entre ambos conjuntos para quedarte con los compartidos.
  3. Usar la unión si además quieres el total de contactados por al menos un canal.
  4. Emplear la diferencia para aislar quienes solo recibieron correo.
  5. Convertir a lista el resultado solo si necesitas un orden estable.

¿Para qué sirve en la realidad?

Agrupar registros por etiqueta y deduplicar catálogos son tareas constantes en limpieza de datos: el diccionario lleva de una clave a sus valores y el conjunto responde al instante a quién pertenece a qué grupo.

La característica que distingue a un conjunto de una lista es que el conjunto:

Una lista puede usarse como clave de un diccionario.

Asociaciones

Colección de pares clave y valor
diccionario
Colección sin orden ni repetidos
conjunto
Acceso con valor de reserva si falta
get
Pares compartidos entre dos conjuntos
intersección
Vista de pares clave y valor
items

Toca una tarjeta para ver la respuesta.

Empareja cada necesidad con la estructura que la resuelve mejor.

Arrastra cada ficha a su categoría (o tócala y luego toca la categoría). También puedes usar el teclado.

Une cada necesidad con la estructura que la resuelve:

      Diccionarios y conjuntos

      • Asociaciones
        • Diccionario
          • pares clave y valor
            • claves únicas e inmutables
              • get con defecto
              • Conjunto
                • sin orden ni repetidos
                  • unión, intersección, diferencia
                  • Claves válidas
                    • números, cadenas, tuplas
                      • nunca listas

                    Necesitas saber qué clientes recibieron un correo y cuáles un SMS, y luego quiénes recibieron ambos. Explica qué estructura usarías para cada grupo y qué operación aplica para la intersección.

                    Tu texto se guarda sólo en este dispositivo.

                    Las respuestas y tu progreso se guardan sólo en este dispositivo. Contenido firmado por su autoría mediante Lumbre.

                    Autoevaluación

                    Comprueba lo que aprendiste

                    2 preguntas · ves cada respuesta al momento · el resultado queda guardado en tu historial

                    Iniciar autoevaluación
                    Más sobre esta lección

                    Rutas vivas

                    ¿Y ahora qué? Elige el camino por lo que necesitas

                    No es un listado al azar: cada camino responde una pregunta distinta y te dice por qué.

                    Otra forma de comprenderlo

                    ✦ Explorar el universo completo
                    Explora temas relacionados

                    Conceptos

                    Comentarios

                    Inicia sesión para comentar.

                    Todavía no hay comentarios. Sé la primera persona en opinar.