Aprende Python · lección gratuita
Las listas en Python no solo guardan datos: traen un montón de herramientas para ordenarlos, contarlos, buscarlos y recortarlos. En esta lección dominamos los métodos más usados y el poderoso slicing, que permite extraer "rebanadas" de una lista con una sintaxis muy compacta.
lista.sort() ordena en el lugar (modifica la lista) y sorted(lista) devuelve una nueva lista ordenada.lista.reverse() invierte el orden de los elementos en el lugar.in comprueba si un valor existe; lista.count(x) lo cuenta y lista.index(x) da su posición.lista[a:b] toma desde el índice a hasta b-1; con lista[:n] o lista[n:] omites un extremo.lista[::-1] invierte una lista creando una copia; lista[::2] toma uno de cada dos.sum(lista), min(lista) y max(lista) resumen valores numéricos en una sola llamada.Una lista ofrece métodos (funciones que se llaman con el punto, como lista.sort()) y también funciona con funciones integradas que reciben la lista como argumento (como sum(lista)). La diferencia clave es que muchos métodos modifican la lista original y devuelven None, mientras que las funciones suelen devolver un valor nuevo sin tocar la lista.
Por ejemplo, sort() reordena la lista misma, así que no debes escribir lista = lista.sort() (eso guardaría None). En cambio, sorted() no modifica nada y sí devuelve la versión ordenada, ideal cuando quieres conservar el original.
numeros = [3, 1, 2]
numeros.sort() # ahora numeros es [1, 2, 3]
print(numeros) # [1, 2, 3]
original = [3, 1, 2]
copia = sorted(original) # original intacto
print(original, copia) # [3, 1, 2] [1, 2, 3]
El slicing usa la forma lista[inicio:fin:paso]. El índice inicio se incluye y fin se excluye. Si omites inicio empieza en 0; si omites fin llega hasta el final. El paso permite saltar elementos, y un paso negativo recorre la lista al revés, por eso lista[::-1] es el truco clásico para invertir.
letras = ["a", "b", "c", "d", "e"]
# Slicing básico: del índice 1 al 3 (sin incluir el 4)
print(letras[1:4]) # ['b', 'c', 'd']
# Primeros 2 y últimos 2 elementos
print(letras[:2]) # ['a', 'b']
print(letras[3:]) # ['d', 'e']
# Invertir con paso negativo
print(letras[::-1]) # ['e', 'd', 'c', 'b', 'a']
# Buscar, contar y resumir
nums = [4, 7, 4, 9, 1]
print("4" in letras) # False (es 'a','b'... no hay '4')
print(nums.count(4)) # 2
print(nums.index(9)) # 3
print(sum(nums), min(nums), max(nums)) # 25 1 9
💡 No reasignes el resultado desort()nireverse(). Esos métodos devuelvenNone; si necesitas una copia ordenada usasorted()y deja la lista original tranquila.
| Sintaxis | Qué hace | Modifica original |
|---|---|---|
lista.sort() | Ordena ascendente en el lugar | Sí |
sorted(lista) | Devuelve nueva lista ordenada | No |
lista.reverse() | Invierte en el lugar | Sí |
lista[::-1] | Copia invertida | No |
x in lista | True si x está | No |
lista.count(x) | Cuántas veces aparece x | No |
lista.index(x) | Posición de la 1ª aparición | No |
lista[a:b] | Sublista de a a b-1 | No |
lista[:n] / lista[n:] | Primeros n / desde n | No |
lista[::2] | Uno de cada dos | No |
sum/min/max(lista) | Suma / mínimo / máximo | No |
---