¿Cómo usar list.sort() en Python?

| Última modificación: 23 de diciembre de 2024 | Tiempo de Lectura: 2 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

A veces como programadores n os encontramos con tareas como el ordenamiento de datos, una tarea primordial en este mundo. En este aspecto, Python nos facilita el trabajo por medio de la función list.sort(), esta es determinante cuando es necesario organizar elementos len una lista, ya sea de forma ascendente o descendente, o inclusive bajo criterios personalizados. En este artículo veremos qué es y cómo hacer uso de esta funcionalidad en Python.

list.sort() en Python

¿Qué es list.sort() y para qué sirve?

List.sort() en Python es una función que se utiliza para ordenar elementos en una lista. Por defecto, los valores se organizan en orden ascendente, pero también puedes personalizar el orden con parámetros adicionales como lo son reverse y key.

Veamos su sintaxis:

list.sort(reverse=True|False, key=myFunc)

en esta sintaxis tenemos dos parámetros:

  • reverse: parámetro opcional que indica si se debe ordenar en orden descendente. Su valor por defecto es False.
  • key: parámetro opcional que permite definir una función para especificar el criterio de ordenación.

Ejemplos en contexto

Veamos algunos ejemplos de list.sort():

  • Ordenar en orden ascendente:
numeros = [4, 2, 9, 1]
numeros.sort()
print(numeros) # Salida: [1, 2, 4, 9]
  • Ordenar en orden descendente:
numeros = [4, 2, 9, 1]
numeros.sort(reverse=True)
print(numeros) # Salida: [9, 4, 2, 1]
  • Ordenar cadenas alfabéticamente
palabras = ['banana', 'manzana', 'cereza']
palabras.sort()
print(palabras) # Salida: ['banana', 'cereza', 'manzana']

¿Cómo personalizar el orden con el parámetro key?

El parámetro key permite usar una función para definir cómo se deben ordenar los elementos. De tal modo que se pueden ordenar del siguiente modo:

  • Ordenar por longitud de las cadenas:
def criterio_longitud(e):
return len(e)

palabras = ['banana', 'manzana', 'cereza']
palabras.sort(key=criterio_longitud)
print(palabras) # Salida: ['cereza', 'banana', 'manzana']
  • Ordenar una lista de diccionarios: puedes ordenarla según un valor específico, así:
autos = [
{'marca': 'Ford', 'año': 2005},
{'marca': 'BMW', 'año': 2019},
{'marca': 'VW', 'año': 2011}
]

def criterio_año(e):
return e['año']

autos.sort(key=criterio_año)
print(autos)
# Salida: [{'marca': 'Ford', 'año': 2005}, {'marca': 'VW', 'año': 2011}, {'marca': 'BMW', 'año': 2019}]
  • Ordenar por múltiples criterios: Por ejemplo, puedes ordenar primero por longitud y luego en orden inverso:
def criterio_longitud(e):
return len(e)

palabras = ['Ford', 'Mitsubishi', 'BMW', 'VW']
palabras.sort(reverse=True, key=criterio_longitud)
print(palabras) # Salida: ['Mitsubishi', 'Ford', 'BMW', 'VW']

¿Qué diferencias hay entre sort() y sorted()?

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

Debes saber que list.sort() modifica la lista original. Si necesitas conservar la lista original y trabajar con una copia ordenada, puedes usar la función sorted():

numeros = [4, 2, 9, 1]
nueva_lista = sorted(numeros)
print(nueva_lista) # Salida: [1, 2, 4, 9]
print(numeros) # Salida: [4, 2, 9, 1]

Mientras list.sort() ordena la lista en su lugar, sorted() devuelve una nueva lista.

Algunos consejos finales…

  1. Usa list.sort() solo cuando estés seguro de que no necesitas la lista original sin modificaciones.
  2. Para tareas complejas de ordenación, combina list.sort() con funciones personalizadas en el parámetro key.
  3. Recuerda que list.sort() no funciona con listas en Python que contienen tipos de datos incompatibles (como números y cadenas mezclados).

Aprender a programar es muy fácil si tienes las herramientas adecuadas. Con nuestro bootcamp en programación inicial puedes hacerlo y adquirir las mejores habilidades que te ayudarán a incursionar rápida y eficientemente en el mundo laboral. ¡No esperes más la oportunidad y apúntate ahora!

Yurany
Yurany Duque

SEO Content Writer. Especialista en redacción sobre tecnología y educación.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Apúntate y consigue uno de los perfiles más demandados con Python en solo 4 meses.