1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | # conjunto es una colección de elementos que no se repiten lista = [ 1 , 2 , 1 , 2 , 1 , 2 ] print (lista) print (lista[ 2 ]) conjunto = { 1 , 2 , 1 , 2 , 1 , 2 } print (conjunto) vacio = set () vacio2 = {} while True : num = int ( input ( "Numero (0 para salir) " )) if num! = 0 : vacio.add(num) else : break print (vacio) c3 = set ( "hola amigo" ) print (c3) c4 = set ([ 1 , 2 , 3 , 3 , 2 , 1 , 4 , 4 , 3 , 2 ]) print (c4) c1 = { 1 , 2 , 3 } c2 = { 2 , 3 , 4 , "hola" , 6.78 , False } print (c1 | c2) print (c1.union(c2)) print (c1 & c2) print (c1.intersection(c2)) print (c1 - c2) print (c1.difference(c2)) clase_mates = { "ana" , "eva" , "pep" , "rosa" , "juan" } clase_fisica = { "eva" , "albert" , "pep" , "maria" } total_alumnos = clase_mates | clase_fisica alumnos_dos_clases = clase_mates & clase_fisica alumnos_mates_noen_fisica = clase_mates - clase_fisica print (total_alumnos) print (alumnos_dos_clases) print (alumnos_mates_noen_fisica) # Escribe un programa que tome una lista de palabras y # elimine los duplicados, devolviendo una nueva lista sin duplicados. def sin_duplicados(lista): res = [] for palabra in lista: if palabra not in res: res.append(palabra) return res def sin_duplicados2(lista): conjunto = set (lista) # lo paso a conjunto, eliminan duplicados return list (conjunto) print (sin_duplicados2([ "hola" , "que" , "hola" , "que" , "pasa" ])) # Escribe un programa que tome una cadena de texto y cuente cuántas # vocales diferentes (a, e, i, o, u) se encuentran en la cadena. # Utiliza un conjunto para realizar el seguimiento de las vocales # únicas encontradas. def vocales(cadena): diferentes = set () for letra in cadena: if letra in "aeiou" : diferentes.add(letra) return diferentes print (vocales( "hola que tal" )) alumnos = [ { "nombre" : "Ana" , "asignaturas" :{ "fisica" , "mates" }, "pagos" :[ 20 , 50 , 60 , 70 ] }, { "nombre" : "Pep" , "asignaturas" : { "quimica" , "mates" }, "pagos" : [ 20 , 150 , 60 , 70 ] }, { "nombre" : "Eva" , "asignaturas" : { "fisica" , "quimica" }, "pagos" : [ 20 , 50 , 60 , 70 ] } ] print (alumnos) for alumno in alumnos: print (alumno[ "nombre" ], sum (alumno[ "pagos" ])) # matricular a todos los alumnos en 'mates' for alumno in alumnos: alumno[ "asignaturas" ].add( "mates" ) print (alumnos) for alumno in alumnos: for asignatura in alumno[ "asignaturas" ]: print (alumno[ "nombre" ],asignatura) # crear un diccionario cuyas claves sean las asignaturas y el valor # un conjunto de alumnos asignaturas = {} for alumno in alumnos: for asignatura in alumno[ "asignaturas" ]: if asignatura in asignaturas: asignaturas[asignatura].add(alumno[ "nombre" ]) else : asignaturas[asignatura] = {alumno[ "nombre" ]} print (asignaturas) total = 0 pagos = {} # total de pagos de todos los alumnos for alumno in alumnos: total + = sum (alumno[ "pagos" ]) pagos[alumno[ "nombre" ]] = total print (total) print (pagos) |