# 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"])))