Listas#
Una lista es una colección ordenada de elementos (o valores).
Los elementos de una lista van encerrados entre corchetes [ ]
. Por ejemplo:
frutas = ['manzana', 'platano', 'cereza']
print(frutas)
['manzana', 'platano', 'cereza']
Note
Características de las listas
Mutabilidad: Los elementos de una lista pueden ser modificados después de la creación de la lista
Ordenadas: Los elementos de una lista están ordenados y mantienen el orden en el que se añadieron. Su posición lo indica su índice.
Pueden contener cualquier tipo de dato: Una lista puede contener elementos de diferentes tipos de datos, como enteros, cadenas, flotantes, u otras listas
Índices#
Los elementos (o valores) de una lista se pueden acceder utilizando índices numéricos. El índice ¡comienza en 0 para el primer elemento! y se incrementa de forma consecutiva.

En este caso el valor red
tiene el índice 0
, el valor green
tiene el valor 1
, …
Las listas son mutables, lo que significa que puedes cambiar su contenido. Por ejemplo, podemos añadir un elemento:
frutas.append('naranja') # Podemos agregar un elemento a la lista
print(frutas)
['manzana', 'platano', 'cereza', 'naranja']
A continuación, se listan una serie de métodos que aprovechan la mutabilidad de las listas.
Métodos de manipulación de listas#
Como se comentó las listas son mutables, es decir, pueden modificarse. A continuación, se listan una serie de métodos que aprovechan la mutabilidad de las listas.
Empezamos creando una lista inicial:
listaAnimales = ["perro", "gato", "elefante"]
append(elemento): Agrega un elemento al final de la lista.
listaAnimales.append("jirafa")
print("Después de append:", listaAnimales)
Después de append: ['perro', 'gato', 'elefante', 'jirafa']
extend(iterable): Agrega todos los elementos de un iterable al final de la lista.
listaAnimales.extend(["león", "tigre"])
print("Después de extend:", listaAnimales)
Después de extend: ['perro', 'gato', 'elefante', 'jirafa', 'león', 'tigre']
insert(index, elemento): Inserta un elemento en una posición específica de la lista.
listaAnimales.insert(2, "zorro") # Inserta "zorro" en la posición 2
print("Después de insert:", listaAnimales)
Después de insert: ['perro', 'gato', 'zorro', 'elefante', 'jirafa', 'león', 'tigre']
remove(elemento): Elimina la primera aparición de un elemento de la lista.
listaAnimales.remove("elefante")
print("Después de remove:", listaAnimales)
Después de remove: ['perro', 'gato', 'zorro', 'jirafa', 'león', 'tigre']
pop(index): Elimina y devuelve el elemento en una posición específica de la lista.
elemento_eliminado = listaAnimales.pop(3) # Elimina el elemento en la posición 3
print("Después de pop:", listaAnimales) # Salida: ['perro', 'gato', 'zorro', 'león', 'tigre']
print("Elemento eliminado:", elemento_eliminado) # Salida: 'jirafa'
Después de pop: ['perro', 'gato', 'zorro', 'león', 'tigre']
Elemento eliminado: jirafa
index(elemento): Devuelve el índice de la primera aparición de un elemento en la lista.
indice = listaAnimales.index("zorro")
print("Índice de 'zorro':", indice) # Salida: 2
Índice de 'zorro': 2
count(elemento): Cuenta la cantidad de veces que un elemento aparece en la lista.
conteo = listaAnimales.count("perro")
print("Cantidad de veces que aparece 'perro':", conteo)
Cantidad de veces que aparece 'perro': 1
sort(): Ordena los elementos de la lista en orden ascendente.
listaAnimales.sort()
print(" Después de sort: ", listaAnimales)
Después de sort: ['gato', 'león', 'perro', 'tigre', 'zorro']
reverse(): Invierte el orden de los elementos en la lista.
listaAnimales.reverse()
print(" Después de reverse: ", listaAnimales)
Después de reverse: ['zorro', 'tigre', 'perro', 'león', 'gato']
Otros métodos#
Empezamos creando una lista inicial de números:
listaNumeros = [10, 30, 20, 50, 40]
sum(lista): Suma los elementos en la lista.
suma_total = sum(listaNumeros)
print("Suma de los elementos:", suma_total)
Suma de los elementos: 150
min(lista): Calcula el mínimo de los elementos de la lista.
minimo = min(listaNumeros)
print("Mínimo de los elementos:", minimo)
Mínimo de los elementos: 10
max(lista): Calcula el máximo de los elementos de la lista.
maximo = max(listaNumeros)
print("Máximo de los elementos:", maximo)
Máximo de los elementos: 50
len(lista): Cuenta la cantidad de elementos en la lista.
cantidad_elementos = len(listaNumeros)
print("Cantidad de elementos en la lista:", cantidad_elementos)
Cantidad de elementos en la lista: 5
in (lista): Comprueba si algo está en una lista. La salida es TRUE o FALSE.
respuesta = 30 in(listaNumeros)
print(respuesta)
True
respuesta = 31 in(listaNumeros)
print(respuesta)
False
Slices#
Los slices en Python son una herramienta muy útil, que nos permite extraer porciones de secuencias de elementos (como listas, tuplas o cadenas) con muy poco código. La sintaxis básica para crear un slice en Python es la siguiente:
slice[inicio:fin:paso]
Note
Explicación
inicio: Índice donde comienza el slice (incluido)
fin: Índice donde termina el slice (no incluido)
paso: Tamaño del paso o incremento entre elementos del slice (opcional)
Ejemplo:
# Definimos una lista de frutas
listaFrutas = ["manzana", "banana", "cereza", "dátil", "naranja", "uva"]
# Realizamos un slicing de la lista
# - Comenzamos en el índice 2 (que es "cereza")
# - Terminamos en el índice 5 (sin incluir "uva")
# - El paso es 1, lo que significa que tomamos cada elemento en el rango
sliceFrutas = listaFrutas[2:5:1]
# Imprimimos la sublista resultante
print(sliceFrutas) # Esto mostrará: ['cereza', 'dátil', ' naranja']
['cereza', 'dátil', 'naranja']
Consideraciones especiales#
Omisión de valores#
Podemos omitir uno, varios, o incluso todos los parámetros del Slice. Este se comportará distinto cada omisión.
Si no especificamos…
El inicio, el slice comenzará desde el primer elemento.
lista[x:]
El fin, el slice terminará en el último elemento.
lista[:x]
El paso, el slice usará un paso de 1
listaFrutas = ["manzana", "banana", "cereza", "dátil", "naranja", "uva"]
primeros_salvo_tres = listaFrutas[3:] # Extrae los elementos del 3 al final
primeros_tres = listaFrutas[:3] # Extrae los tres primeros elementos
print(primeros_salvo_tres)
print(primeros_tres)
['dátil', 'naranja', 'uva']
['manzana', 'banana', 'cereza']
Uso de índices negativos#
Python permite usar índices negativos para referirse a elementos relativos final de la secuencia (en lugar que desde el principio). Parece un poco complicado, y al principio lía un poco. Veamos algún ejemplo:
listaFrutas = ["manzana", "banana", "cereza", "dátil", "naranja", "uva"]
ultimos_tres = listaFrutas[-3:] # Extrae los últimos tres elementos
primeros_salvo_tres = listaFrutas[:-3] # Extrae los elementos, salvo los tres últimos
print(ultimos_tres)
print(primeros_salvo_tres)
['dátil', 'naranja', 'uva']
['manzana', 'banana', 'cereza']