Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Listas

Departamento de Tecnología
IES Frei Martín Sarmiento

Una lista es una colección ordenada y modificable de elementos (o valores). Los elementos de una lista van encerrados entre corchetes [ ]. Por ejemplo:

frutas = ['manzana', 'platano', 'cereza']
print(frutas)
['manzana', 'platano', 'cereza']

Índices: accediendo a los elementos de una lista

Podemos acceder a los elementos (o valores) de una lista utilizando sus índices numéricos. El índice indica lo posición y ¡comienza en 0 para el primer elemento! y se incrementa de forma consecutiva.

Veamos un ejemplo:

colors = ["red", "green", "blue", "yellow", "white", "black"]

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 nuevo a la lista colors utilizando el método append():

marcas = ['Toyota', 'Honda', 'Ford']
print(marcas)   
marcas.append('Volkswagen')  # Podemos agregar un elemento a la lista
print(marcas)
['Toyota', 'Honda', 'Ford']
['Toyota', 'Honda', 'Ford', 'Volkswagen']

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"]
  1. 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']
  1. 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']
  1. 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']
  1. 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']
  1. 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
  1. 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
  1. 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
  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']
  1. 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]
  1. sum(lista): Suma los elementos en la lista.

suma_total = sum(listaNumeros)
print("Suma de los elementos:", suma_total)
Suma de los elementos: 150
  1. 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
  1. 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
  1. 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
  1. 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]

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.

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']