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 | # estructuras de datos # una variable nos permite almacenar un valor # muchos valores no es comodo usar muchas variables # Estructuras que nos permiten almacenar un numero arbitrario de valores # tuplas: se definen con paréntesis, no se pueden modificar tupla = ( 1 , 2 , 3 ) otra_tupla = ( 1 , "hola" , 7.8 , False ) a,b,c = tupla #desempaquetado de tupla a=1, b=2 y c=3 def estadistica( * args): total = 0 for numero in args: total + = numero return (total,total / len (args)) print (estadistica( 1 , 2 , 3 )) # listas: colección de elementos que se puede modificar # es el equivalente al array de otros lenguajes lista = [ 1 , 2 , 3 , 4 ] otra_lista = [ 1 , "hola" , 7.0 , True ] lista[ 1 ] = 90 print (lista) for i in range ( len (lista)): print (lista[i]) lista[i] * = 2 for numero in lista: print (numero) numero = numero * 2 print (lista) # Comprension de listas # [nuevo_elemento for elemento in secuencia if condición] lista1 = [elemento for elemento in lista] print (lista1) lista2 = [elemento for elemento in lista if elemento< 20 ] print (lista2) lista3 = [elemento / 2 for elemento in lista if elemento< 20 ] print (lista3) lista4 = [] for elemento in lista: if elemento< 20 : lista4.append(elemento / 2 ) print (lista4) # diccionarios: conjunto de pares clave, valor diccionario = { "Nombre" : "Ana" , "nota" : 7 , "email" : "ana@ana.com" } print (diccionario) otro_diccionario = { 1 : "Ana" , 3 : 7 , 9 : "ana@ana.com" } print (otro_diccionario) print (diccionario[ "Nombre" ]) print (otro_diccionario[ 1 ]) diccionario[ "Nombre" ] = "Ana Pi" print (diccionario) for elemento in diccionario: print (elemento) for elemento in diccionario.values(): print (elemento) for elemento in diccionario.items(): print (elemento) # conjunto es lo mismo pero no podemos tener valores repetidos conjunto = { 1 , 2 , 3 , 5 , 5 , 5 , 5 , 5 } print (conjunto) # tener estructuras complejas: estructuras dentro de estructuras tupla_rara = ( 1 , "cadena" , [ "a" , "b" , "c" , { "nombre" : "Ana" , "notas" :( 6 , 9 , 1 , { "nota" : 9 , "observaciones" : "Progresa adecuadamente" })}]) valor = tupla_rara[ 2 ][ 3 ][ "notas" ][ 3 ][ "observaciones" ] print (valor) clase = [{ "nombre" : "Ana" , "notas" :[ 1 , 2 , 3 ]}, { "nombre" : "Pep" , "notas" :[ 11 , 2 , 3 ]}, { "nombre" : "Eva" , "notas" :[ 1 , 22 , 3 ]}] for alumno in clase: # con esto recorro los alumnos print (alumno) print ( "Para el alumno " + alumno[ "nombre" ]) # ya tengo un alumno individual total = 0 for nota in alumno[ "notas" ]: # recorro sus notas print (nota) # ya tengo la nota individual total + = nota print ( "La media es " + str (total / len (alumno[ "notas" ]))) |