Listas y tuplas#
Las variables también pueden contener múltiples entradas de valores. A esto lo llamamos listas y tuplas. Algunos programadores también las llaman vectores o arrays; arrays de valores. Ya conocemos un tipo de array, las cadenas. Las cadenas son listas de caracteres.
Ver también
Puedes acceder a elementos en un array usando corchetes [] que te permiten acceder a un elemento en un índice dado. La indexación comienza en 0. Por lo tanto, el primer elemento de un array es el elemento número 0. La siguiente cadena contiene 5 caracteres y, por lo tanto, se puede acceder a los elementos con índice 0, 1, 2, 3 y 4:
word = "Hello"
word[0]
'H'
word[1]
'e'
word[2]
'l'
word[3]
'l'
word[4]
'o'
Cuando accedemos a un índice que no está en la lista, recibimos un error:
word[5]
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
Input In [8], in <module>
----> 1 word[5]
IndexError: string index out of range
Listas numéricas#
Otro tipo de array son las listas numéricas. Son comunes para almacenar mediciones de experimentos, por ejemplo:
measurements = [5.5, 6.3, 7.2, 8.0, 8.8]
measurements[0]
5.5
measurements[1]
6.3
Cambiar entradas en listas funciona así:
measurements[1] = 25
measurements[1]
25
También puedes agregar entradas a las listas:
measurements.append(10.2)
Las listas también pueden invertirse:
measurements
[5.5, 25, 7.2, 8.0, 8.8, 10.2]
measurements.reverse()
measurements
[10.2, 8.8, 8.0, 7.2, 25, 5.5]
Al igual que con las cadenas, también puedes concatenar arrays:
more_measurements = [12.3, 14.5, 28.3]
measurements + more_measurements
[10.2, 8.8, 8.0, 7.2, 25, 5.5, 12.3, 14.5, 28.3]
Cuando trabajas con listas numéricas, puedes usar algunas de las funciones integradas de Python para hacer estadísticas básicas de tus mediciones
# valor mínimo en la lista
min(measurements)
5.5
# valor máximo en la lista
max(measurements)
25
# suma de todos los elementos en la lista
sum(measurements)
64.7
# número de elementos en la lista
len(measurements)
6
# promedio de todos los elementos en la lista
sum(measurements) / len(measurements)
10.783333333333333
Listas de tipos mixtos#
También puedes almacenar valores de diferentes tipos en una lista
mixed_list = [22, 5.6, "Cat", 'Dog']
mixed_list[0]
22
mixed_list[3]
'Dog'
type(mixed_list[3])
str
Tuplas#
Las tuplas son listas que no se pueden cambiar:
immutable = (4, 3, 7.8)
immutable[1]
3
immutable[1] = 5
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Input In [31], in <module>
----> 1 immutable[1] = 5
TypeError: 'tuple' object does not support item assignment
Puedes convertir tuplas a listas y listas a tuplas:
type(immutable)
tuple
mutable = list(immutable)
type(mutable)
list
again_immuntable = tuple(mutable)
type(again_immuntable)
tuple
Ejercicio#
Supongamos que realizaste mediciones en varios días. ¿Calcular el promedio de medición de esta semana?
measurements_monday = [2.3, 3.1, 5.6]
measurements_tuesday = [1.8, 7.0]
measurements_wednesday = [4.5, 1.5, 6.4, 3.2]
measurements_thursday = [1.9, 2.0]
measurements_friday = [4.4]