En este tutorial vamos a aprender sobre Python Set. En nuestro artículo anterior aprendimos sobre Python String. Puedes aprenderlo desde aquí.
Conjunto de Python
Python Set es una colección desordenada de elementos únicos. Supongamos que tienes una lista y necesitas solo los elementos únicos de la lista, puedes usar Python Set. De manera similar, si necesitas solo elementos únicos de una entrada, Python set puede ayudarte a hacerlo. Puedes agregar o eliminar elementos de él. Puedes inicializar un conjunto colocando elementos entre llaves. Al igual que otras secuencias, un conjunto puede tener elementos de múltiples tipos de datos. Además, también puedes crear un conjunto a partir de una lista usando la función set(). El siguiente ejemplo te dará una idea sobre cómo inicializar un conjunto.
#conjunto que contiene un solo tipo de datos
set1 = {1, 2, 3, 4, 2, 3, 1}
print(set1)
#conjunto que contiene múltiples tipos de datos
set2 = {1, 2, 3, (1, 2, 3), 2.45, "Python", 2, 3}
print(set2)
#creando un conjunto a partir de una lista
theList = [1, 2, 3, 4, 2, 3, 1]
theSet = set(theList)
print(theSet)
El resultado será
================== RESTART: /home/imtiaz/set1.py ==================
set([1, 2, 3, 4])
set([1, 2, 3, 2.45, 'Python', (1, 2, 3)])
set([1, 2, 3, 4])
>>>
Agregando elementos al conjunto de Python
En el ejemplo anterior, aprendimos cómo inicializar un conjunto en Python directamente. Supongamos que necesitamos agregar un elemento al conjunto, podemos hacerlo usando la función \texttt{add()}add(). Pero esta función puede agregar un solo elemento. Si deseas agregar elementos iterables como una lista o un conjunto, puedes hacerlo usando la función \texttt{update()}update(). El siguiente ejemplo te ayudará a entender esto
#inicializar un conjunto vacío
theSet = set()
#agregar un solo elemento usando la función add()
theSet.add(1)
theSet.add(2)
theSet.add(3)
theSet.add(2)
#agregar otro tipo de dato
theSet.add('hello')
#agregar elementos iterables usando la función update()
theSet.update([1,2,4,'hello','world']) #list as iterable element
theSet.update({1,2,5}) #set as iterable element
print(theSet)
La salida del siguiente código será
================== RESTART: /home/imtiaz/set_new.py ==================
set([1, 2, 3, 4, 5, 'world', 'hello'])
>>>
Eliminar Elementos de un Conjunto en Python
Existen dos funciones para eliminar elementos de un conjunto en Python. Una es la función \texttt{remove()}remove() y la otra es la función \texttt{discard()}discard(). Si el elemento que estás intentando eliminar no está en el conjunto, la función remove() lanzará una excepción. Pero la función discard() no hará nada en este caso. El siguiente código te mostrará eso
theSet = {1,2,3,4,5,6}
#eliminar 3 usando la función discard()
theSet.discard(3)
print(theSet)
#llamar a la función discard() nuevamente para eliminar 3
theSet.discard(3) #This won't raise any exception
print(theSet)
#llamar a la función remove() para eliminar 5
theSet.remove(5)
print(theSet)
#llamar a la función remove() para eliminar 5 again
theSet.remove(5) #this would raise exception
print(theSet) #this won't be printed
Encontrarás que la salida será como sigue,
================== RESTART: /home/imtiaz/set_del.py ==================
set([1, 2, 4, 5, 6])
set([1, 2, 4, 5, 6])
set([1, 2, 4, 6])
Traceback (most recent call last):
File "/home/imtiaz/set_del.py", line 16, in
theSet.remove(5) #this would raise exception
KeyError: 5
>>>
Operaciones de Conjuntos en Python
Es posible que estés familiarizado con algunas operaciones matemáticas de conjuntos como unión, intersección y diferencia. También podemos realizar estas operaciones utilizando conjuntos en Python. Ahora aprenderemos cómo hacerlo.
Unión de Conjuntos en Python
La unión es la operación de fusionar dos conjuntos. Esto significa que la unión creará otro conjunto que contiene todos los elementos únicos de los dos conjuntos. Por ejemplo, {1, 2, 3, 4} y {2, 3, 5, 7} son dos conjuntos. Si realizamos la operación de unión, obtenemos {1, 2, 3, 4, 5, 7}. Podemos lograr esto utilizando la función union().
Intersección de Conjuntos en Python
Nuevamente, la intersección es la operación para obtener los elementos únicos comunes de dos conjuntos. Por ejemplo, {1, 2, 3, 4} y {2, 3, 5, 7} son dos conjuntos. Si los intersectamos, obtenemos {2, 3}. La operación de intersección se realiza mediante la función intersection().
Diferencia de conjuntos en Python
Ahora, la operación de diferencia compara dos conjuntos y crea un nuevo conjunto que contiene elementos del conjunto A que no son comunes en el conjunto B. Supongamos que tenemos dos conjuntos, A = {1, 2, 3, 4} y B = {2, 3, 5, 7}. Entonces, la operación A – B generará {1, 4}. Además, B – A generará {5, 7}. La operación de diferencia se realiza mediante la función difference()… El siguiente código te dará una idea de cómo realizar estas operaciones de conjuntos en la programación de Python.
A = {1, 2, 3, 4} #initializing set A
B = {2, 3, 5, 7} #initializing set B
union_operation = A.union(B)
print("A union B :")
print(union_operation)
intersection_operation = A.intersection(B)
print("A intersection B :")
print(intersection_operation)
difference_operation = A.difference(B)
print("A-B :")
print(difference_operation)
difference_operation = B.difference(A)
print("B-A :")
print(difference_operation)
La salida que obtienes será como esta:
================== RESTART: /home/imtiaz/set_op.py ==================
A union B :
set([1, 2, 3, 4, 5, 7])
A intersection B :
set([2, 3])
A-B :
set([1, 4])
B-A :
set([5, 7])
>>>
Entonces, eso es todo por hoy. Espero que hayas aprendido bien sobre los conjuntos en Python. Para cualquier consulta adicional, simplemente escribe tu consulta en el cuadro de comentarios. Te responderemos. Referencia: Documentación oficial
Source:
https://www.digitalocean.com/community/tutorials/python-set