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á.