Listas en Python: creación, modificación y métodos esenciales

Clase 22 de 32Curso de Fundamentos de Python

Resumen

Aprende a dominar las listas en Python con ejemplos simples y prácticos. Entenderás qué son, cómo funcionan los índices, cómo modificar elementos y qué métodos usar para agregar, eliminar, ordenar y unir colecciones. Con estas bases, escribirás código más claro y efectivo.

¿Qué es una lista en Python y cómo se comporta?

Las listas son colecciones almacenadas en una sola variable. Son ordenadas, mutables y permiten duplicados. Esto habilita operaciones de actualización y acceso preciso por posición sin perder el orden original.

¿Qué significa que sea ordenada, mutable y con duplicados?

  • Una lista mantiene el orden de inserción.
  • Se pueden cambiar sus elementos por índice.
  • Acepta elementos repetidos.

Ejemplo base con frutas, verificación de tipo y acceso por índice:

frutas = ["manzana", "naranja", "mandarina"] print(frutas) # ['manzana', 'naranja', 'mandarina'] print(type(frutas)) # <class 'list'> print(frutas[1]) # 'naranja' (índices desde 0) # Modificar por índice (mutabilidad) frutas[1] = "banana" print(frutas[1]) # 'banana' print(frutas) # ['manzana', 'banana', 'mandarina'] # Duplicados frutas.append("naranja") # ahora hay otra 'naranja' al final print(frutas) # ['manzana', 'banana', 'mandarina', 'naranja']

Nota clave: Python ejecuta de arriba hacia abajo. Verás cambios reflejados solo después de la línea que modifica la lista.

¿Se pueden mezclar tipos y medir el largo?

Sí. Una lista puede contener distintos tipos: string, número y booleano. Para contar elementos, usa len (proviene de length en inglés).

mixta = ["TuNombre", 42, True] print(mixta) # ['TuNombre', 42, True] print(type(mixta)) # <class 'list'> print(len(mixta)) # 3 print(len(frutas)) # 4

¿Cómo acceder y recorrer por índices y rangos?

Trabajar con índices e intervalos te permite seleccionar porciones de la lista. Recuerda: los índices inician en 0 y los rangos usan el patrón inicio:fin sin incluir el fin.

¿Cómo funcionan los índices y el slicing?

  • Índice directo: frutas[1] accede al segundo elemento.
  • Rango inicio:fin (no inclusivo): frutas[0:2].
  • Desde el inicio: frutas[:2].
  • Desde un índice al final: frutas[1:].

# Suponiendo frutas = ['manzana', 'banana', 'mandarina', 'naranja'] print(frutas[0:2]) # ['manzana', 'banana'] print(frutas[:2]) # ['manzana', 'banana'] print(frutas[1:]) # ['banana', 'mandarina', 'naranja']

La regla práctica: el límite superior no se incluye. Úsalo para particionar sin errores.

¿Cómo comprobar pertenencia con in?

La palabra clave in verifica si un elemento existe en la colección y evalúa a verdadero o falso. Útil en condiciones if.

if "manzana" in frutas: print("la manzana está dentro de las frutas") # Salida: la manzana está dentro de las frutas

¿Qué métodos prácticos optimizan el trabajo con listas?

Con métodos incorporados, puedes agregar, insertar, eliminar y ordenar sin esfuerzo. Estos atajos hacen tu código más legible y expresivo.

¿Cómo agregar, eliminar y ordenar elementos?

Ejemplo con vehículos y métodos clave: append, insert, remove, pop, sort, reverse.

vehiculos = ["auto", "moto", "avión"] # Agregar al final vehiculos.append("barco") # ['auto', 'moto', 'avión', 'barco'] # Insertar por índice (desplaza lo que sigue) vehiculos.insert(1, "bicicleta") # ['auto', 'bicicleta', 'moto', 'avión', 'barco'] # Eliminar por valor vehiculos.remove("auto") # ['bicicleta', 'moto', 'avión', 'barco'] # Eliminar por índice vehiculos.pop(1) # quita 'moto' # ['bicicleta', 'avión', 'barco'] # Ordenar alfabéticamente vehiculos.sort() # ['avión', 'barco', 'bicicleta'] # Orden invertido vehiculos.reverse() # ['bicicleta', 'barco', 'avión']

Puntos clave: - append agrega al final. - insert(i, x) agrega en el índice i. - remove(x) borra la primera coincidencia del valor. - pop(i) quita por índice y devuelve el elemento. - sort() ordena en forma alfabética por defecto. - reverse() invierte el orden actual.

¿Cómo unir listas con + y extend?

Tienes dos formas de concatenar colecciones: con el operador + o con extend. La diferencia: + crea una nueva lista; extend modifica la existente.

coleccion1 = [1, 2, 3] coleccion2 = [4, 5, 6] # Nueva lista concatenada coleccion3 = coleccion1 + coleccion2 print(coleccion3) # [1, 2, 3, 4, 5, 6] # Extender en sitio (modifica coleccion1) coleccion1.extend(coleccion2) print(coleccion1) # [1, 2, 3, 4, 5, 6]

Consejo práctico: - Usa + cuando quieras conservar las originales. - Usa extend cuando busques eficiencia y modificar en sitio.

¿Te quedó alguna duda o tienes un ejemplo propio con listas que quieras optimizar? Compártelo y lo revisamos juntos.