numero = 5
cadena = "hola que tal"
numero += 9
cadena += " yo muy bien"
alumno1 = "Ana"
alumno2 = "Eva"
alumno3 = "Pep"
# Si tengo 20 alumnos no voy a tener 20 variables una para cada alumno
# Se han inventado las listas: una variable en la que yo puedo introducir muchos elementos
# como defino una lista: con corchetes [...]
# cada elemento está separado por comas
alumnos = ["Ana", "Eva", "Pep"] # lista de nombres
notas = [5, 8, 6] # lista de notas
print(alumnos)
print(notas)
# como accedo a los elementos de la lista: por su posición
print(alumnos[0]) # Ana
print(alumnos[1]) # Eva
print(alumnos[2]) # Pep
alumnos[2] = "Juan" # en la posición 2 cambio Pep por Juan
print(alumnos)
# recorrer la lista
for alumno in alumnos:
print(alumno)
for i in range(len(alumnos)):
print(i, alumnos[i])
listaMixta = [1, "Ana", True, 7.8]
listaMixtaAnidada = [1, "Ana", True, 7.8, [1, 2, 3]]
# valor y referencia
precio=15
otroprecio=precio # copia por valor
precio=20 # cuando cambio el valor de precio no cambia el de otroprecio
print(precio, otroprecio)
lista=[1,2,3,4]
otralista=lista # copia por referencia
otraMas=lista.copy() # copia por valor
lista[1]=27 # cuando cambio el valor de lista SI CAMBIA el de otralista
print(lista,otralista,otraMas)
def cambiarLista(lista):
for i in range(len(lista)):
lista[i]+=2
cambiarLista(lista)
print(lista,otralista)
# añadir elementos al final
lista.append(90)
print(lista)
# recupera y borra el elemento del final
elemento=lista.pop()
print(lista,elemento)
# recupera y borra un elemento en cualquier posición
elemento=lista.pop(0)
print(lista,elemento)
# insertar un elemento en cualquier posición
lista.insert(2,666)
print(lista)
cuadrados=[]
for i in range(11):
cuadrados.append(i**2)
print(cuadrados)
print(cuadrados[-1])
# el mismo slicing que en cadenas
print(cuadrados[2:4])
print(cuadrados[2:])
print(cuadrados[:4])
print(cuadrados[2:-2])
print(cuadrados[-7:-2])
print(cuadrados[0::2])