0% encontró este documento útil (0 votos)
19 vistas42 páginas

Sets

El documento presenta una introducción a los sets o conjuntos en programación, definiéndolos como colecciones no ordenadas de elementos únicos e inmutables. Se destacan sus características, como la mutabilidad del conjunto, la eliminación automática de duplicados y el soporte para operaciones de conjuntos. Además, se describen métodos y utilidades de los sets en Python, incluyendo la manipulación de elementos y la comparación entre conjuntos.

Cargado por

Teo Vidal
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
19 vistas42 páginas

Sets

El documento presenta una introducción a los sets o conjuntos en programación, definiéndolos como colecciones no ordenadas de elementos únicos e inmutables. Se destacan sus características, como la mutabilidad del conjunto, la eliminación automática de duplicados y el soporte para operaciones de conjuntos. Además, se describen métodos y utilidades de los sets en Python, incluyendo la manipulación de elementos y la comparación entre conjuntos.

Cargado por

Teo Vidal
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Programación I

Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Sets o Conjuntos
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Definición de Set

Un set es una colección no ordenada de


elementos únicos e inmutables (aunque el
set en sí es mutable, es decir, se puede
modificar agregando o eliminando
elementos).
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Características de los Sets


• Colección no ordenada: Los elementos de un set no tienen un orden
definido. A diferencia de las listas o las tuplas, no podemos acceder a
los elementos de un set usando índices.
• Elementos únicos: Un set no permite elementos duplicados. Si
intentamos agregar un elemento que ya existe, no se añadirá.
• Elementos inmutables: Los elementos de un set deben ser de un
tipo de dato inmutable, como números, strings o tuplas. No podemos
usar tipos mutables como listas o diccionarios dentro de un set.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Características de los Sets


• Mutable (el set en sí): Aunque los elementos deben ser inmutables,
el propio set es mutable. Podemos agregar add() o eliminar remove()
o discard() elementos después de que el set haya sido creado.
• No se permiten duplicados: Los sets eliminan automáticamente los
elementos duplicados. Esto los hace útiles para filtrar valores
repetidos de una lista u otra estructura de datos.
• Soporte para operaciones de conjuntos: Los sets permiten realizar
operaciones como unión, intersección, diferencia y diferencia
simétrica, que son comunes en la teoría de conjuntos.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Características de los Sets


• Mutable (el set en sí): Aunque los elementos deben ser inmutables,
el propio set es mutable. Podemos agregar add() o eliminar remove()
o discard() elementos después de que el set haya sido creado.
• No se permiten duplicados: Los sets eliminan automáticamente los
elementos duplicados. Esto los hace útiles para filtrar valores
repetidos de una lista u otra estructura de datos.
• Soporte para operaciones de conjuntos: Los sets permiten realizar
operaciones como unión, intersección, diferencia y diferencia
simétrica, que son comunes en la teoría de conjuntos.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Características de los Sets


• No admite indexación: Debido a que los sets no están ordenados, no
es posible acceder a un elemento por su índice.
• Iterables: Los sets son iterables, por lo que podemos recorrer sus
elementos con bucles. El orden en el que se recorren los elementos
puede no coincidir con el orden en que fueron agregados.
• Altamente eficiente para búsqueda: Los sets están optimizados
para realizar búsquedas rápidas de elementos. Verificar si un
elemento está en un set (x in set) es más rápido que en una lista, ya
que los sets utilizan un hash interno para localizar los elementos.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Sintaxis de los Sets


Sintácticamente, podemos crear un set de diferentes maneras.
1. Creación de un set usando llaves { }
2. Creación de un set usando la función set()
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Crear un set vacío


Cuando quieres crear un set vacío, es importante usar la función set() en
lugar de { }, ya que este último crea un diccionario vacío.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Sets con tipos de datos mixtos


Un set puede contener diferentes tipos de datos como números, strings,
y booleanos, siempre y cuando los elementos sean inmutables. Esto
significa que no puedes incluir tipos como listas o diccionarios, ya que
son mutables.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Operaciones con Sets


Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Acceso a elementos
Cuando intentamos acceder a un elemento de un conjunto (set) en
Python utilizando un índice obtendremos un error.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Slicing o rebanado
Cuando intentamos realizar slicing en un conjunto (set) en Python
obtendremos un error.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Repetición de Sets
Los conjuntos en Python NO admiten la operación de repeticion (*).
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Concatenación de Sets
Los conjuntos en Python NO admiten la operación de concatenación (+).
Pero como veremos mas adelante podemos unir de otra forma dos o
mas conjuntos.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Comparación de Sets
En Python, los conjuntos (sets) no tienen un orden específico y, por lo
tanto, no se pueden comparar de la misma manera que los números o
cadenas de texto. Por ejemplo, la comparación > entre conjuntos no se
basa en el contenido en términos de magnitud de sus elementos, sino
en la inclusión de subconjuntos.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Comparación de Sets
La expresión conjunto_letras_1 > conjunto_letras_2 evalúa si
conjunto_letras_1 es un superconjunto propio de conjunto_letras_2.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

¿Se pueden asignar elementos?


NO se puede asignar un valor a un elemento en un conjunto porque los
conjuntos (set) son estructuras no ordenadas y no indexadas.
A diferencia de las listas o las tuplas, los conjuntos no almacenan
elementos en una posición específica, lo que significa que no tienen
índices.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Iteración de Sets
Podemos iterar sobre los elementos de una sets con un bucle for. Para
un bucle while primero debemos transformarlo a una lista para poder
acceder a cada elemento mediante [ ].
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Iteración de Sets – enumerate()


Podemos usar enumerate() para iterar sobre una set.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Iteración de Tuplas – zip()


Podemos usar la función zip() con tuplas. La función zip() toma
múltiples iterables y las combina en pares de elementos según su
posición. Crea un iterable de tuplas donde cada tupla contiene los
elementos correspondientes de los iterables que pasas.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Iteración de sets – zip()

Podemos utilizar zip() en los


set. Al no tener un orden,
cuando utilizamos zip() los
elementos se emparejarán
sin garantizar el orden que
ves al crear el set.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Métodos de los Sets


Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Un método de un set en Python es una función específica que permite


realizar operaciones sobre sets, como agregar o eliminar elementos, y
también realizar operaciones matemáticas como la unión, la
intersección, y la diferencia.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

add()
Este método se utiliza para agregar un elemento a un set. Si el
elemento ya está presente en el set, no se agrega de nuevo, ya que los
sets no permiten elementos duplicados.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

clear()
Este método se utiliza para eliminar todos los elementos de un set,
dejándolo vacío pero aún existente. Es útil cuando quieres resetear un
set sin eliminarlo.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

copy()
Se utiliza para crear una copia superficial de un set. Esto es útil cuando
quieres duplicar un set pero mantener el original intacto y separado del
duplicado. Básicamente, cualquier cambio realizado en el set copiado
no afectará al set original.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

pop()
Se utiliza para eliminar y devolver un elemento aleatorio del set. Es
importante notar que debido a la naturaleza desordenada de los sets,
no se puede predecir qué elemento será removido.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

remove()
Se utiliza para eliminar un elemento específico de un set. Si el elemento
no se encuentra en el set, se lanza un error KeyError. Es útil cuando
sabes exactamente qué elemento quieres eliminar y estás seguro de
que está en el set.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

discard()
Se utiliza para eliminar un elemento específico de un set, pero a
diferencia de remove(), no lanza un error si el elemento no está
presente. Es útil cuando quieres asegurarte de que un elemento se
elimine sin preocuparte de si ya está en el set o no.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

update()
Se utiliza para agregar elementos de otro set o de cualquier colección
iterable al set actual. Básicamente, extiende el set con nuevos
elementos, evitando duplicados.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Métodos de los Sets


Teoría de los Conjuntos
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

isdisjoint()

Se utiliza para determinar si dos


sets no tienen ningún elemento en
común. Devuelve True si los sets
son disjuntos (es decir, no
comparten elementos) y False de lo
contrario. Es útil para comprobar
rápidamente si dos conjuntos son
completamente distintos entre sí.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

issubset()

Se utiliza para verificar si todos los


elementos de un set están
contenidos en otro set. Devuelve
True si el set del que se llama es un
subconjunto del set pasado como
argumento, y False de lo contrario.
Es útil cuando necesitas comprobar
relaciones de inclusión entre sets.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

issuperset()
Se utiliza para verificar si todos los elementos de otro set están
contenidos en el set del que se llama. Devuelve True si el set del que se
llama es un superconjunto del set pasado como argumento, y False de
lo contrario. Es útil para comprobar si un set incluye completamente a
otro set.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

union()
Se utiliza para combinar elementos de dos o más sets y devolver un
nuevo set con todos los elementos únicos. Es muy útil para fusionar
varios conjuntos sin duplicar elementos.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

difference()
Se utiliza para encontrar la diferencia entre dos o más sets. Devuelve un
nuevo set que contiene los elementos que están en el set original pero
no en los otros sets especificados. Es útil cuando quieres identificar
elementos únicos de un conjunto que no están presentes en otros.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

difference_update()
Se utiliza para eliminar todos los elementos del set actual que también
están presentes en otro set o colección iterable. A diferencia de
difference(), que devuelve un nuevo set, difference_update() modifica el
set original directamente.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

intersection()
Se utiliza para encontrar la intersección de dos o más sets, es decir, los
elementos que son comunes a todos los sets involucrados. Devuelve un
nuevo set con estos elementos comunes. Es útil cuando quieres
identificar elementos compartidos entre conjuntos.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

intersection_update()
Se utiliza para actualizar el set llamador, manteniendo solo los
elementos que están presentes en todos los sets proporcionados como
argumento.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

symmetric_difference()
Se utiliza para obtener los elementos que están en uno u otro set, pero
no en ambos. Devuelve un nuevo set con estos elementos únicos de
cada conjunto que no son compartidos. Es útil cuando quieres
identificar las diferencias exclusivas entre dos conjuntos.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

symmetric_difference_update()
Realiza la misma función que symmetric_difference, pero modifica el
set original directamente.
Programación I
Zotti Enzo Martín – Valls Fernando

Sets o Conjuntos

Principales utilidades de los Set


• Filtrado de elementos duplicados.
• Control de permisos y roles de usuarios.
• Eliminación de palabras repetidas en textos.
• Comparación de conjuntos de datos.
• Gestión de etiquetas (tags).
• Detección de relaciones comunes en redes sociales.
• Control de duplicados en bases de datos.
• Filtrar palabras de una lista de "stop words" en un análisis de texto.
• Prevención de envío de emails duplicados.
• Entre otras…

También podría gustarte