Programación 1
Conjuntos en Python
2021
Conjuntos
⚫ Son análogos a los conjuntos matemáticos, y se representan
por la palabra reservada set.
⚫ Un set es mutable, es decir, una vez creado el conjunto, puede
ser modificado.
⚫ Los elementos en un set no tienen un orden definido (ni
tampoco se puede asumir uno predeterminado)
Conjuntos
⚫ Creación de Conjuntos
• Literal: > conj={6, 3, 9, -45}
• Los elementos pueden ser de cualquier tipo: > conj={4, 5.6, “perro”}
• Uso de set: > conj=set([6, 3, 9, -45])
• Definir un conjunto vacío: > conj=set() (obs: no usar {}, ya que eso se
reserva para el diccionario vacío)
Agregar elementos a conjuntos
> #definimos un conjunto vacío
> color_set = set()
> #Agregamos un elemento
> color_set.add(“rojo")
> print(color_set)
{‘rojo'}
> #agregar multiples elementos (usando otro conjunto)
> color_set.update({“azul", “verde“})
> print(color_set)
{‘rojo, ‘azul', ‘verde’}
⚫ Agregar un elemento que ya existe no genera error (simplemente no
modifica nada ya que no puede haber elementos repetidos)
Quitar elementos de conjuntos
⚫ El método pop() quita un elemento del conjunto y lo devuelve
(recordar que no se puede asumir un orden)
> num_set = set([0, 1, 2, 3, 4, 5])
> num_set.pop()
0
> print(num_set)
{1, 2, 3, 4, 5}
> n=num_set.pop()
> print(num_set)
{2, 3, 4, 5}
> print(n)
1
Unión e intersección de conjuntos
⚫ A∪B
> A = {1, 2, 3}
> B = {2, 5, 6}
> set_union = A | B
> print (set_union)
{1, 2, 3, 5, 6}
⚫ A ∩ B
> set_interseccion = A & B
> print(set_interseccion)
{2}
Quitar elementos de conjuntos
⚫ El método remove() quita un element específico
> num_set = {0, 1, 2, 3, 4, 5}
> num_set.remove(0)
> print(num_set)
{1, 2, 3, 4, 5}
⚫ Hacer un remove de un elemento inexistente genera un error
⚫ El método discard es similar a remove, pero si no existe no
genera error
Diferencia de conjuntos
> A = {1, 2, 3}
> B = {2, 5, 6}
> #diferencia
> set_diferencia = A-B
> print(set_diferencia)
{1, 3}
> #diferencia simétrica (A-B) U (B-A)
> set_diferencia_simetrica = A^B
> print(set_diferencia_simetrica)
{1, 3, 5, 6}
Inclusión de conjuntos
Inclusión de conjuntos
> A = {4, 5, 7}
> B = {1, 2, 3, 4, 5, 6, 7}
> Inclusión estricta: < (o >)
> Inclusión amplia: <= (o >=)
> print(A<B, A<=B)
True True
> print(A<A, A<=A)
False True
Duplicar conjuntos
⚫ Uso del método copy() y diferencia con “=“
⚫ Ver demo
Otros operadores y funciones de conjuntos
⚫ Operador in: para determinar si x ϵ A
(retorna True si pertenece, Falso en
caso contrario)
> A={4, 5, 7}
> if 4 in A:
> print(“pertenece”)
⚫ Función len: retorna la cardinalidad
(cantidad de elementos) del conjunto
> print(len(A))
>3