Operadores y métodos de listas en Python

Clase 22 de 49Curso Práctico de Python: Creación de un CRUD

Resumen

Domina las listas en Python con ejemplos claros: aprende cómo se comportan los operadores de suma y multiplicación, y cuándo usar métodos como append, pop, remove, sort y la función sorted. Aquí verás cómo crear, modificar, ordenar y analizar listas de forma segura y eficiente.

¿Qué hacen los operadores de listas en Python?

Las listas tienen operadores con comportamiento contextual. En números, suma y multiplicación son aritméticas; en listas, cambian de significado. La suma realiza concatenación y la multiplicación repite los elementos.

  • En listas, A + B concatena todos los elementos de ambas listas en una nueva lista.
  • A * n repite la misma lista n veces.
  • **Solo están permitidos + y *** con listas. División, módulo y resta no aplican.
  • Si vienes de vectores matemáticos, recuerda: en Python la suma de listas no es elemento a elemento.

Ejemplos:

A = [1, 2]
B = [2, 3]
A + B  # [1, 2, 2, 3]
A * 2  # [1, 2, 1, 2]

# Operadores no válidos con listas
# A / B  -> TypeError
# A % B  -> TypeError
# A - B  -> TypeError

También se mostró cómo generar rangos para practicar y ver los efectos:

# Pares del 0 al 10 no inclusivo
a = list(range(0, 10, 2))  # [0, 2, 4, 6, 8]
# Otra lista con 0..10 no inclusivo
b = list(range(0, 10))     # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

a + b  # Concatenación
b * 2  # Repetición

¿Cómo modificar listas con métodos clave?

Las listas son mutables: puedes cambiar sus elementos y su tamaño. A diferencia de los strings (inmutables), con listas puedes añadir, extraer y eliminar elementos fácilmente.

  • append: añade un elemento al final y crece la lista.
  • pop: elimina y retorna un elemento; por defecto el último, o por índice.
  • del: elimina por índice usando el keyword de Python.
  • remove: elimina por valor la primera coincidencia.
  • len: devuelve el tamaño actual de la lista.

Ejemplo práctico con frutas y comportamiento tipo fila:

fruits = []
fruits.append("apple")
len(fruits)        # 1
fruits.append("banana")
fruits.append("kiwi")

# Sacar el último y conservar su valor
some_fruit = fruits.pop()  # "kiwi"
fruits                     # ["apple", "banana"]

# Sacar por índice (el primero)
some_fruit = fruits.pop(0)  # "apple"
fruits                      # ["banana"]

# Eliminar por índice con del (índice negativo: desde el final)
# Ejemplo genérico con números:
nums = [1, 2, 3]
del nums[-1]  # elimina 3, la última posición

# Eliminar por valor
nums = [1, 2, 2, 3]
nums.remove(2)  # elimina la primera aparición de 2 -> [1, 2, 3]

Claves importantes:

  • pop retorna el valor eliminado, ideal para reasignar o registrar quién salió de la lista.
  • Con índices negativos (-1) apuntas desde el final hacia el inicio.
  • remove busca por valor, no por posición.

¿Cómo ordenar listas y explorar sus métodos?

Ordenar puede hacerse sin tocar la lista original o modificándola en sitio. Además, puedes inspeccionar métodos disponibles para aprender más rápidamente.

  • sorted: función built-in que devuelve una nueva lista ordenada.
  • sort: método que ordena en sitio la lista original.
  • dir: muestra los métodos y atributos disponibles del objeto.

Ejemplo con números aleatorios usando el módulo random:

import random

random_numbers = []
for _ in range(10):
    random_numbers.append(random.randint(0, 15))

# Ordenar sin modificar la original
ordered_numbers = sorted(random_numbers)

# Ordenar modificando la original
random_numbers.sort()

# Explorar métodos disponibles en listas
dir(random_numbers)

Puntos clave al ordenar:

  • Usa sorted cuando quieras conservar la lista original.
  • Usa sort cuando quieras actualizar la misma lista.
  • El ordenamiento funciona con números y con strings de forma lexicográfica.

¿Quieres practicar más? Prueba a combinar rangos con append y luego ordena con sorted para comparar resultados con sort. Y si necesitas recordar qué puedes hacer con una lista, dir(lista) te mostrará todas las opciones.

¿Te quedó alguna duda o tienes un ejemplo interesante con append, pop, remove o sort? Compártelo en los comentarios y cuéntanos qué resultado obtuviste.