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

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