A lo largo de las clases anteriores hemos llegado a abordar conceptos básicos sobre listas, sirviendo éstas como auxiliares en algún fin específico. Es así que no hemos ebordado exclusivamente el tema de las listas y algunos de sus componentes más importantes.
Recordemos que dada una lista podemos acceder a sus elementos de acuerdo a un índice, que por defecto es asignado, comenzando con el 0 y avanzando de uno en uno
import numpy as np
lista_1 = ['Luis', 1, True, np.pi]
# imprimimos la lista
print(lista_1)
print('-' * 50)
# accedemos a sus elementos
for i in range(0,4):
print(lista_1[i], ' ', end = ' ')
['Luis', 1, True, 3.141592653589793] -------------------------------------------------- Luis 1 True 3.141592653589793
Para reducir el número de carácteres, a las cadenas de texto las manejamos con comillas simples. Adicionalmente podemos acceder a los elementos de una lista con índices negativos, dónde al último elemento de cada lista tendrá asignado el índice $-1$, el penúltimo elemento de cada lista tendra asignado el índice $-2$ y así consecutivamente:
for i in [-1, -2 , -3, -4]:
print(lista_1[i], ' ', end = ' ')
3.141592653589793 True 1 Luis
Por otro lado, podemos acceder a un rango de elementos de nuestra lista, por ejemplo si queremos acceder a los elementos 'Luis', 1, True
cuyos índices están en el rango $0,1,2$ empleamos
print(lista_1[0:3])
print('-' * 50)
# podemos acceder a los primeros dos elementos de la listas
print(lista_1[:2])
print('-' * 50)
# podemos acceder del índice 2 hasta el último elemento de la lista
print(lista_1[2:])
print('-' * 50)
['Luis', 1, True] -------------------------------------------------- ['Luis', 1] -------------------------------------------------- [True, 3.141592653589793] --------------------------------------------------
Podemos modificar nuestra lista. Por ejemplo podemos cambiar los elementos de la misma
# cambiamos a Luis por Pedro
lista_1[0] = 'Pedro'
print(lista_1)
print('-' * 50)
# cambiamos el 1 por el 4
lista_1[1] = 2
print(lista_1)
['Pedro', 1, True, 3.141592653589793] -------------------------------------------------- ['Pedro', 2, True, 3.141592653589793]
# podemos conocer cuántos elementos tiene una lista:
print('Número de elementos en la lista:', len(lista_1))
Número de elementos en la lista: 4
# Podemos agregar elementos a nuestra lista:
# agregar elementos al final:
lista_1.append('Carlos')
print(lista_1)
print('-' * 50)
# agregar elementos en un índice en específico
lista_1.insert(0, 'Pablo')
lista_1.insert(3, False)
print(lista_1)
print('-' * 50)
# Podemos remover elementos de la lista:
lista_1.remove('Carlos')
lista_1.remove(True)
lista_1.remove(1)
print(lista_1)
['Luis', 1, True, 3.141592653589793, 'Carlos'] -------------------------------------------------- ['Pablo', 'Luis', 1, False, True, 3.141592653589793, 'Carlos'] -------------------------------------------------- ['Pablo', 'Luis', False, 3.141592653589793]
# agregamos un nuevo elemento
lista_1.append('Diego')
print(lista_1)
print('-' * 50)
# podemos eliminar el último elemento agregado
lista_1.pop()
print(lista_1)
print('-' * 50)
#-----------------------------------------------
lista_1.insert(2, 5)
print(lista_1)
print('-' * 50)
lista_1.pop()
print(lista_1)
['Pablo', 'Luis', False, 3.141592653589793, 'Diego'] -------------------------------------------------- ['Pablo', 'Luis', False, 3.141592653589793] -------------------------------------------------- ['Pablo', 'Luis', 5, False, 3.141592653589793] -------------------------------------------------- ['Pablo', 'Luis', 5, False]
De tal manera la función pop()
elimina el último elemento de cada lista.
# podemos eliminar elementos de la lista
print(lista_1)
print('-' * 50)
# eliminamos el elemento de índice 1 (el cual es 'Luis')
del lista_1[1]
print(lista_1)
['Pablo', 'Luis', 5, False] -------------------------------------------------- ['Pablo', 5, False]
# podemos eliminar todos los elementos de la lista
lista_1.clear()
print(lista_1)
[]
# finalmente eliminamos la lista por completo de la memoria
del lista_1
print(lista_1)
--------------------------------------------------------------------------- NameError Traceback (most recent call last) <ipython-input-40-0d7e9f2cb1b1> in <module> 3 del lista_1 4 ----> 5 print(lista_1) NameError: name 'lista_1' is not defined