Un conjunto es una colección de objetos, que son los elementos del conjunto. Sea S un conjunto y x un elemento contenido en S se denota x ∈ S. Un conjunto sin elementos es conocido cómo conjunto vacío denotado por ∅. Los conjuntos pueden ser descritos de manera explícita mediante una enumeración como:

\[S=\{x_1, x_2, \dots, x_n\}.\]

Un ejemplo de esto pueden ser los posibles resultados de un lanzamiento de una moneda,{a, s}. Ahora veremos como se define un conjunto en python.

>>> A={1,2,3}
>>> A
{1, 2, 3}
>>> B={3,4}
>>> B
{3, 4}

Definir que un elemento a está en un conjunto A se denota por xA, y es posible plantear en python como un test de pertenencia.

>>> 3 in A
True
>>> 10 in A
False

La canitdad de elementos en un conjunto es llamada cardinalidad y se denota por |A|. Esta operación se llama mediante

>>> len(A)
3

De kismalac - Trabajo propio, CC0, https://commons.wikimedia.org/w/index.php?curid=15139968

Un conjunto B es un subconjunto de A si todos los elementos de B están contenidos en A. En dado caso de que también todos los elementos en A estén contenidos en B, hablamos de dos conjuntos equivalentes. Se denota mediante B A. En python es posible consultar si un conjunto es subconjunto de otro con el operador <=.

>>> E = {3}
>>> A
{1, 2, 3}
>>> B
{3, 4}
>>> E <= A
True
>>> B <= A
False

Para determinar si dos conjuntos son equivalentes, se utiliza el operador ==.

>>> A = {1,2}
>>> B = {1,2}
>>> A==B
True

Unión

Como vemos, definimos la variable A, como un conjunto por medio de llaves y una lista de elementos que confirman este conjunto. Para poder hacer referencia al conjunto es posible hacerlo escribiendo el nombre del conjunto. El operador unión, entre dos conjuntos A y B es el conjunto de todos los elementos que pertenecen a A y a B y es denotado por AB. Esta operación se realiza en python mediante el operador lógico |.

>>> A|B
{1, 2, 3, 4}

Para unir una serie de conjuntos, sobre los que se itera, se denota mediante una U grande, de la siguiente manera

\[\bigcup^{n}_{i=1}S_1 \dots \cup S_i \cup \dots \cup S_n.\]

Para ejemplificar esta idea, tomaremos cinco conjuntos ejemplo, almacenados en una lista. La lista se denotará como S y su cardinalidad, o número de elementos, es de 5, por lo tanto n=5. Para definir esta lista se introduce:

>>> S = {{0,1},{2,5,9},{1,3,4,5},set(),{5,6,7,8}}
>>> S
[{0, 1}, {9, 2, 5}, {1, 3, 4, 5}, set(), {8, 5, 6, 7}]
>>> len(S)
5

Nótese que para definir el conjunto vacío, se utilizó la función set(). Para realizar la iteración sobre todos los elementos se utiliza un ciclo for, que tomará todos los elementos de S, y los unirá en un nuevo conjunto. El nuevo conjunto se llamará Sn, y la operación se realiza de la siguiente forma.

>>> Sn = set()
>>> for s in S:
... Sn=Sn|s
...
>>> Sn
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

Intersección

La intersección de dos conjuntos A y B es el conjunto de todos los elementos que pertenecen tanto a A cómo a B, y es denotado por AB. La operación en pyhton se expresa mediante el operador &.

>>> A
{1, 2, 3}
>>> B
{3, 4}
>>> A&B
{3}

El único elemento existente en A y B, en este caso fue 3. Por lo tanto, el nuevo conjunto resultante de la intersección de los dos conjuntos es el que existe en ambos. Dos conjuntos están disjuntos si no tienen un sólo elemento común. Supongamos un conjunto D={7,8,9}.

>>> D={7,8,9}
>>> A&D
set()

 Al igual que con la unión, es posible iterar sobre una serie de conjuntos para crear una intersección entre ellos. Esto se denota de la siguiente manera

\[\bigcap^{n}_{i=1}S_1 \dots \cap S_i \cap \dots \cap S_n.\]

 Y lo presentamos en python como

>>> S = {{0,1,5},{1,2,5,9},{1,2,3,4,5},{2,5,6,7,8}}
>>> Sn = S[0]
>>> for s in S:
... Sn=Sn&s
...
>>> Sn
{5}

Diferencia

Ahora bien, si tenemos dos conjuntos A y B, se define a la operación diferencia de A-B como el conjunto de todos los elementos en A que no estén contenidos en B.

>>> A
{1, 2, 3}
>>> B
{3, 4}
>>> A-B
{1, 2}

 Con esto concluimos esta introducción a teoría de conjuntos con python. En breve se expandirá la información aquí proporcionada, para tener los elementos básicos y poder extender el trabajo en temas futuros.