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.