Listas, una introducción

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

Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos