Una lista en Python, es una estructura que permite almacenar una lista de datos separados por coma y todos ellos encerrados entre corchetes.
Por ejemplo
>>>a=[1,2,3,4,5]
>>>a
>>>vocales=["a","e","i","o","u"]
>>>vocales
['a', 'e', 'i', 'o', 'u']
>>>b = [10,20,40,50, 60,70]
>>>lista = [1*3,2*4+10,"Luna llena",3**3-15/5,[1,2,3,4,5]]
>>>lista
Nota
1. Una lista se define usando
>>>s = []
2. Por esta razón, los elementos de una lista pueden ser manipulados como si fuera un vector. lista[i], hace referencia al i-ésimo elemento.
3. El primer elemento de una lista tiene por subíndice 0, el segundo es 1, etc.
Si deseamos ver el tercer elemento de la lista b, usamos
>>>b[2]
El cuarto elemento de lista, lo extraemos usando
>>>lista[3]
Del mismo modo, podemos extraer el último usando
>>>lista[-1]
Podemos obtener el número de elementos de una lista usando
>>>len(lista>
¿Se pueden sumar dos listas?
Definamos la lista c como sigue
>>>c = [2,4,6,8,0] Intentemos sumar las listas a y c, pues ambas tienen la misma cantidad de elementos
>>>a+c
Podemos apreciar que las listas se concatenan pero no se suman sus elementos. Los toma como cadenas
Y la multiplicación no tiene sentido
>>>a*c
Si bien no se pueden sumar sus elementos, ¿podemos operar con la suma de a y b? a tiene 5 elementos pero b tiene 6.
Veamos
>>>a+b
Sí es posible pues se pueden concatenar objetos de cadena de diferente tamaño.
¿Se podrán sumar sus elementos directamente?
Sí se puede.
>>>a[1]+b[2]
42
Eso es correcto pues a[1] = 2 y b[2] = 40
De manera que si queremos multiplicar o dividir elementos de una lista hacemos
>>>a[3]*c[2]+b[4]*lista[3]-b[5]/a[4] 1450.0
Ahora, recuerde que la lista a tiene 5 elementos mientras que b tiene 6. Más aún, digamos que b debiera tener las decenas de 10 a 70. Observamos que 30 no ertenece a la lista.
Nuestro trabajo consiste en:
- Añadir 2 elementos (6 y 7) a la lista a
- Insertar el elemento 30 antes de 40 en la lista b; es decir, insertar 30 como elemento 2.
Esto es lo que haremos:
>>>a.append(6)
>>>a
>>>a.append(6)
>>>a Ahora con b
>>>b.insert(2,30)
>>>b
Finalmente, si quisiéramos cambiar el cuarto elemento (posición 3) de a, por 1200, haríamos
>>>a[3]=1200
>>>a
Ahora dejémoslo en su valor anerior
>>>a[3] = 4
>>>a [1, 2, 3, 4, 5, 6, 7]
Ejemplo 1
La siguiente imagen muestra algunas operaciones que podemos realizar con listas
Como se puede apreciar, hemos modificado el elemento "Mares" por "Martes" y añadido "Jueves" en la lista sem.
Luego hemos leído un dato que lo hemos convertido a entero que lo hemos usado como indice para extraer el mes y número de días de dicho mes.
Finalmente hemos usado print(...) para imprimir elegantemente información del mes deseado y la semana que, explícitamente se ha tomado el "Jueves".
Ejemplo 2
Veamos un ejemplo más manejando listas usando las bondades que nos ofrece la librería de Python.
Definimos tres listas distintas
Se suma y multiplica que, como hemos visto, la suma concatena y la multiplicación emite un error
Luego hemos pedido el elemento cuya posición es 2, pero que hace referencia al 3er elemento que es 4
x[2:] extrae todos los elementos de la lista desde la posición 2, que hace referencia al tercer elemento que lo incuye
x[:3] permite extraer todos los elementos desde el primero hasta aquel que ocupa la tercera posición SIN incluirlo
Se ha hecho lo mismo con la lista z, que tiene más elementos en la cual se puede observar mejor.
Finalmente la variable "lista" contiene elementos de todo tipo, inclusive una lista que está como 4to elemento.
Podemos obervar que z[-1] extrae el último elemento de la lista, que en este caso es otra lista.
Termina el ejemplo mostrando la longitud de la lista b, en la cual se ha usado la función len(...)
La siguiente imagen muestra operaciones adicionales con listas.
Para terminar: usaremos la función pop(...) para borrar un elemento determinado de la lista
>>>z
['Ice', 72, 'Ime', 28, 'Rey', 'Pera', '123', '\n', 16]
Borremos el primer elemento de z
>>>z.pop(0)
'Ice'
>>>z
[72, 'Ime', 28, 'Rey', 'Pera', '123', '\n', 16]
Ahora, que es la forma de usarlo como pila, vamos a extraer el último elemento de lista
>>>lista
[3, 18, 'Luna llena', 24.0, [1, 2, 3, 4, 5]]
>>>elem = lista.pop(-1)
>>>elem
[1, 2, 3, 4, 5]
>>>lista
[3, 18, 'Luna llena', 24.0]
Para borrar todos los elementos de una lista
>>>z[:]=[]
>>>z
También se obtiene el mismo resultado, usando z[:] = ""