Tuplas y sets en Python: cómo funcionan

Clase 27 de 49Curso Práctico de Python: Creación de un CRUD

Resumen

Aprende a dominar tuplas y sets en Python con ejemplos claros y prácticos. Verás cómo declararlos, cómo acceder a sus elementos, qué implica su inmutabilidad y cómo aplicar operaciones de teoría de conjuntos como intersección, unión y diferencia. Además, conocerás los únicos métodos públicos de las tuplas: count e index.

¿Cómo declarar y usar tuplas en Python?

Las tuplas se pueden declarar separando valores por comas o usando paréntesis. Funcionan como secuencias: permiten acceso por índice iniciando en cero. Son ideales cuando necesitas una colección constante que no cambiará.

¿Cómo se declaran las tuplas?

  • Por comas o con paréntesis: ambas formas producen una tupla.
a = 1, 2, 3
print(type(a))  # <class 'tuple'>

a = (1, 2, 3)
print(type(a))  # <class 'tuple'>
  • Acceso por índice desde 0.
print(a[0])  # 1
print(a[1])  # 2
# La tercera posición está fuera del rango de esta tupla.

¿Qué implica la inmutabilidad en tuplas y strings?

  • Las tuplas son inmutables: no se pueden modificar por asignación de ítems.
  • Intentar reasignar un elemento produce el error: "tuple object does not support item assignment".
  • Con los strings ocurre lo mismo: también son inmutables en Python.
a = (1, 2, 3)
a[0] = 10  # TypeError: tuple object does not support item assignment

¿Qué hacen los métodos count e index?

  • Las tuplas tienen solo dos métodos públicos: count e index.
  • count(x): cuántas veces aparece x.
  • index(x): índice de la primera aparición de x.
a = (1, 1, 1, 2, 3)
print(a.count(1))  # 3
print(a.count(2))  # 1
print(a.index(1))  # 0
print(a.index(3))  # 4
  • Habilidades y conceptos clave:
  • Inmutabilidad y errores por asignación de ítems.
  • Uso de índices y límites de rango.
  • Métodos count e index para consulta de datos.

¿Cómo crear y operar con sets en Python?

Los sets son colecciones sin orden implícito y sin duplicados. No permiten acceso por índice, pero ofrecen operaciones de conjuntos y métodos como add y remove. Son perfectos para verificar pertenencia y combinar elementos únicos.

¿Cómo se declaran los sets?

  • Con la palabra reservada keyword set a partir de un iterable.
  • Con llaves {} listando elementos únicos.
A = set([1, 2, 3])  # a partir de una lista
B = {3, 4, 5}       # notación con llaves
print(type(A), type(B))  # <class 'set'> <class 'set'>
  • Nota: en Python las llaves también se usan para diccionarios; en sets no hay pares clave-valor.

¿Por qué no hay índice ni duplicados?

  • No existe orden definido, por eso no hay índice.
  • No admite duplicados. Usar .add (no append) para añadir elementos.
A.add(3)    # no cambia: 3 ya existe
A.add(20)   # se agrega 20
print(A)    # {1, 2, 3, 20}

¿Qué operaciones de conjuntos aplican?

  • Intersección: elementos comunes.
  • Unión: todos los elementos sin duplicados.
  • Diferencia: elementos de un set que no están en el otro. Es direccional.
  • remove: elimina un elemento existente.
A = {1, 2, 3, 20}
B = {3, 4, 5}

print(A.intersection(B))  # {3}
print(A.union(B))         # {1, 2, 3, 4, 5, 20}
print(A.difference(B))    # {1, 2, 20}
print(B.difference(A))    # {4, 5}

A.remove(20)
print(A)  # {1, 2, 3}
  • Habilidades y conceptos clave:
  • Sin orden y sin índice en sets.
  • Control de duplicados y uso de add/remove.
  • Operaciones de intersección, unión y diferencia.

¿Tienes preguntas o quieres compartir tus pruebas con tuplas y sets? Deja tu comentario y la comunidad te ayudará.