Descarga la aplicación para disfrutar aún más
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
Compartir