Logo Studenta

conjuntos

¡Estudia con miles de materiales!

Vista previa del material en texto

In [1]: #Un conjunto es una colección no ordenada y sin elementos repetido
s. 
#Los usos básicos de éstos incluyen verificación de pertenencia y 
eliminación de
#entradas duplicadas.
#Existen 2 tipos de conjuntos:
# 1) Set: Mutable, sin orden, no contiene duplicados.
# 2) Frozenset: Inmutable, sin orden, no contiene duplicados.
In [2]: #Conjuntos mutables
conj1 = set([4.0, 'auto', True]) # se definen con set()
conj2 = {4.0, 'auto', True} # otra forma de definir un 
conjunto mutable
conj_vacio = set() # conjunto vacío
print (conj1)
print (conj2)
print (conj_vacio)
In [3]: #Conjuntos inmutables
conj3 = frozenset([4.0, 'auto', True]) # se definen con froz
enset()
print (conj3)
In [ ]: 
In [4]: #Añadir un elemento a un conjunto
frutas = {"manzana","banana","pera","mandarina"}
frutas.add("sandia")
print (frutas)
In [5]: #Añadir varios elementos a un conjunto
frutas = {"manzana","banana","pera","mandarina"}
frutas.update(["sandia", "melón", "mango"])
print (frutas)
In [6]: #Eliminar elementos de un conjunto
frutas.discard("mango")
print (frutas)
{True, 4.0, 'auto'}
{True, 4.0, 'auto'}
set()
frozenset({True, 4.0, 'auto'})
{'manzana', 'sandia', 'mandarina', 'pera', 'banana'}
{'manzana', 'sandia', 'mandarina', 'mango', 'pera', 'melón', 'bana
na'}
{'manzana', 'sandia', 'mandarina', 'pera', 'melón', 'banana'}
conjuntos about:srcdoc
1 de 4 21/8/21 12:09
In [7]: #Unir dos conjuntos
conj1 = {"a", "b", "c"}
conj2 = {1, 2, 3}
conj3 = conj1.union(conj2)
print (conj1)
print (conj2)
print (conj3)
In [ ]: 
In [8]: #Iterar elementos de un conjunto
frutas = {"manzana","banana","pera","mandarina"}
for x in frutas:
print (x)
In [ ]: 
In [9]: #Operaciones con conjuntos
grupo_a = set(['Ana', 'Marcos', 'Carlos', 'Mario'])
grupo_b = {'Ana', 'Pedro', 'Carlos', 'Antonio'}
grupo_c = {'Ana', 'Antonio', 'Marcos', 'Pepe'}
todos_estudiantes = grupo_a.union(grupo_b).union(grupo_c)
todos_estudiantes
In [10]: a_and_b = grupo_a.intersection(grupo_b)
a_and_b
In [11]: comun_a_todos = grupo_a.intersection(grupo_b).intersection(grupo_
c)
comun_a_todos
In [ ]: 
{'a', 'b', 'c'}
{1, 2, 3}
{1, 2, 3, 'b', 'c', 'a'}
manzana
pera
banana
mandarina
Out[9]: {'Ana', 'Antonio', 'Carlos', 'Marcos', 'Mario', 'Pedro', 'Pepe'}
Out[10]: {'Ana', 'Carlos'}
Out[11]: {'Ana'}
conjuntos about:srcdoc
2 de 4 21/8/21 12:09
In [12]: grupo_a = {'Ana', 'Marcos', 'Carlos', 'Mario'}
grupo_b = {'Ana', 'Pedro', 'Carlos', 'Antonio'}
grupo_c = {'Ana', 'Antonio', 'Marcos', 'Pepe'}
todos_estudiantes = grupo_a.union(grupo_b).union(grupo_c)
for estudiante in todos_estudiantes:
grupos_in = []
for letra, grupo in zip('ABC', [grupo_a, grupo_b, grupo_c]):
if estudiante in grupo:
grupos_in.append(letra)
grupos_str = '-'.join(grupos_in)
plural = 's' if len(grupos_in) > 1 else ''
print(f'{estudiante} en grupo{plural}: {grupos_str}')
In [ ]: 
In [13]: print (grupo_a.union(grupo_b))
print (grupo_a.difference(grupo_b))
print (grupo_a.intersection(grupo_b))
print (grupo_a.isdisjoint(grupo_b))
print (grupo_a.isdisjoint({1, 2}))
print (grupo_a.issubset(grupo_b))
print (grupo_a.issubset({'Marcos'}))
print (grupo_a.issubset(grupo_a))
print (grupo_a.issuperset(grupo_a))
print (grupo_a.issuperset(grupo_b))
print (grupo_a.issuperset({'Marcos'}))
print (grupo_a.symmetric_difference(grupo_b))
In [ ]: 
Mario en grupo: A
Pedro en grupo: B
Antonio en grupos: B-C
Marcos en grupos: A-C
Pepe en grupo: C
Ana en grupos: A-B-C
Carlos en grupos: A-B
{'Mario', 'Pedro', 'Antonio', 'Marcos', 'Ana', 'Carlos'}
{'Mario', 'Marcos'}
{'Ana', 'Carlos'}
False
True
False
False
True
True
False
True
{'Mario', 'Pedro', 'Antonio', 'Marcos'}
conjuntos about:srcdoc
3 de 4 21/8/21 12:09
In [14]: #Frozensets
#No se puede modificar
fs = frozenset(range(5))
fs.add(9)
In [ ]: 
In [ ]: 
------------------------------------------------------------------
---------
AttributeError Traceback (most recent c
all last)
<ipython-input-14-c55260e8548d> in <module>
 4 
 5 fs = frozenset(range(5))
----> 6 fs.add(9)
AttributeError: 'frozenset' object has no attribute 'add'
conjuntos about:srcdoc
4 de 4 21/8/21 12:09

Continuar navegando