PyQuiz 28 - Intersección de sets en Python | Quiz interactivo

PyQuiz 28 – Intersección de sets en Python

El reto

a = {1, 2, 3}
b = {2, 3, 4}
print(a & b)

¿Cuál es el resultado?

  • a) {2, 3}
  • b) {1, 2, 3, 4}
  • c) {1, 4}

Piensa tu respuesta antes de seguir leyendo…


Concepto: Intersección de sets

Los conjuntos (set) en Python son colecciones sin orden y sin duplicados. Soportan las operaciones clásicas de la teoría de conjuntos: unión, intersección, diferencia y diferencia simétrica, disponibles tanto con operadores simbólicos como con métodos.

La intersección (& o .intersection()) devuelve un nuevo conjunto con los elementos que están presentes en ambos conjuntos simultáneamente. Si un elemento está en a pero no en b, no aparece en la intersección, y viceversa.

Los conjuntos son ideales para eliminar duplicados de una lista, comprobar membresía de forma eficiente (O(1) en promedio) y realizar operaciones de filtrado matemático sobre colecciones de datos.

Paso a paso

  1. a = {1, 2, 3} — se crea el conjunto a con los elementos 1, 2 y 3.
  2. b = {2, 3, 4} — se crea el conjunto b con los elementos 2, 3 y 4.
  3. a & b — se calcula la intersección: ¿qué elementos están en ambos conjuntos? El 1 solo está en a. El 4 solo está en b. El 2 y el 3 están en los dos.
  4. print(a & b) — se imprime {2, 3}.

📥 Llévate el cheatsheet de Python (gratis)

PDF de 6 páginas con lo esencial: tipos, condicionales, bucles, estructuras de datos, funciones y los errores que más vas a cometer. Para tener al lado mientras programas.

Sin spam. Te apuntas a la lista, descargas el cheatsheet y recibes contenido de Python cada semana.

Solución

Respuesta correcta: A) {2, 3}

& es la intersección: elementos comunes a ambos sets. Solo 2 y 3 están en los dos.

Sabías que…

Python ofrece cuatro operaciones de conjunto con operadores simbólicos y métodos equivalentes:

a = {1, 2, 3}
b = {2, 3, 4}

# Intersección: elementos en ambos
print(a & b)               # {2, 3}
print(a.intersection(b))   # {2, 3}

# Unión: todos los elementos
print(a | b)               # {1, 2, 3, 4}
print(a.union(b))          # {1, 2, 3, 4}

# Diferencia: en a pero no en b
print(a - b)               # {1}
print(a.difference(b))     # {1}

# Diferencia simétrica: en uno u otro, pero no en ambos
print(a ^ b)                         # {1, 4}
print(a.symmetric_difference(b))     # {1, 4}

# Caso práctico: usuarios en común
grupo1 = {'Ana', 'Luis', 'Marta'}
grupo2 = {'Luis', 'Marta', 'Carlos'}
print(grupo1 & grupo2)  # {'Luis', 'Marta'}

Prueba tú mismo

Dados a = {1, 2, 3, 4} y b = {3, 4, 5, 6}, ¿qué devuelven a - b y a ^ b?


Más PyQuizzes en elpythonista.com/pyquizzes

Tutorial relacionado: Conjuntos en Python

¿Quieres aprender Python en orden, no a saltos?

Esto que has leído es solo una pieza. En El Pythonista lo verás todo encadenado: 11 módulos, 37+ horas de vídeo, 734 actividades y un proyecto real (MovieTracker) que crece contigo desde la primera variable hasta el deploy a producción.

Ver el curso completo →

37+ horas · 734 actividades · Proyecto real · Acceso de por vida · 14 días de garantía

Compartir

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Publicar un comentario