En Python las listas son arreglos que pueden contener cualquier tipo de dato, pero se espera que idealmente sea una colección del mismo tipo.
myList = [1,2,3,4,5]
abc = ['a','b','c','d','e']Se puede acceder a los elementos a través de su indice que comienza en cero.
myList = [1,2,3,4,5]
myList[2]
>>> 3También se tienen los indices negativos que comienzan en -1 y se usan para acceder a las posiciones a la inversa
myList = [1,2,3,4,5]
myList[-2]
>>> 4Para obtener porciones de una lista se indica el indice para comenzar y el indice al que se quiere llegar (sin incluir).
Python hará un shadow copy, es decir, va a evitar repetir cosas, por lo que en caso de existir referencias, las usará en lugar de copiar los valores.
myList = [1,2,3,4,5]
myList[0:3] # Desde la posición cero hasta 2
>>> [1,2,3]Permite el uso de índices negativos.
myList = [1,2,3,4,5]
myList[-2:] # Desde la posición -2 hasta el final de la lista
>>> [4,5]Para concatenar listas se utiliza el operador +
list1 = [1,2,3,4,5]
list2 = [11,12,13,14]
list3 = list1 + list2
>>> [1, 2, 3, 4, 5, 11, 12, 13, 14]Se puede modificar una posición directa de la lista a través de su indice
myList = [1,2,3,4,5]
myList[0] = 0
>>> [0,2,3,4,5]Se pueden agregar nuevos elementos al final de la lista con append
myList = [1,2,3,4,5]
myList.append(10)
>>> [1,2,3,4,5,10]Pero también se pueden hacer cambios mas complejos como obtener una porción de la lista y reemplazarlo por otra lista, de este modo, agregando mas elementos.
myList = [1,2,3,4,5]
myList[0:1] = [0,1]
>>> [0,1,2,3,4,5]Se puede eliminar una porcion de la lista simplmente asignandola a vacio.
myList = [1,2,3,4,5]
myList[1:3] = []
>>> [1,4,5]Para conocer el tamaño de una lista se utiliza el método len
myList = [1,2,3,4,5]
len(myList)
>>> 5Conociendo todos estos términos básicos de las listas ahora es fácil manipular listas de Listas
myList = [1,2,3,4,5]
myList[0] = [1,2,3]
>>> [[1,2,3],2,3,4,5]range es un iterable, y podemos entonces crear listas usando range como un argumento.
myList = list(range(5))Con el keyword in podemos validar si un elemento pertenece o no a una lista
if 'ok' in ('n', 'no', 'nop', 'nope'):
print('Se encontró el elemento')Existe el inverso que es not in
if 'ok' not in ('n', 'no', 'nop', 'nope'):
print('NO se encontró el elemento')