Ordenar listas en Python

Para ordenar listas en Python, puedes utilizar el método sort() o la función sorted(). Ambos enfoques te permiten ordenar los elementos de una lista en orden ascendente o descendente.

Ordenar listas con el método sort()

Aquí tienes unos ejemplos de cómo hacerlo:

# Lista original
numeros = [3, 1, 5, 2, 4]

# Ordenar la lista en orden ascendente
numeros.sort()

# Resultado: [1, 2, 3, 4, 5]
print(numeros)

# Ordenar la lista en orden descendente
numeros.sort(reverse=True)

# Resultado: [5, 4, 3, 2, 1]
print(numeros)

Ordenar listas con la función sorted()

Ejemplo para ordenar listas con sorted():

# Lista original
frutas = ["banana", "manzana", "naranja", "pera", "uva"]

# Ordenar la lista en orden ascendente
frutas_ordenadas = sorted(frutas)

# Resultado: ['banana', 'manzana', 'naranja', 'pera', 'uva']
print(frutas_ordenadas)

# Ordenar la lista en orden descendente
frutas_ordenadas_desc = sorted(frutas, reverse=True)

# Resultado: ['uva', 'pera', 'naranja', 'manzana', 'banana']
print(frutas_ordenadas_desc)

En ambos casos, el método sort() y la función sorted() ordenan la lista original, pero el método sort() modifica la lista original, mientras que la función sorted() devuelve una nueva lista ordenada sin modificar la original.

Ordenar lista alfanuméricamente en Python

Ordenar una lista alfanuméricamente significa ordenar los elementos teniendo en cuenta tanto caracteres alfabéticos como numéricos. Por ejemplo, si tienes una lista que contiene cadenas con números y letras, el orden alfanumérico considerará primero los caracteres alfabéticos y luego los numéricos.

# Lista original alfanumérica
lista_alfanumerica = ["b", "a", "10", "3", "1", "c"]

# Ordenar alfanuméricamente
lista_alfanumerica.sort()

# Resultado: ['1', '10', '3', 'a', 'b', 'c']
print(lista_alfanumerica)

Orden descendente en Python

Para obtener una lista ordenada en orden descendente, puedes utilizar el parámetro reverse=True con el método sort() o con la función sorted().

# Lista original
numeros = [3, 1, 5, 2, 4]

# Ordenar en orden descendente con sort()
numeros.sort(reverse=True)

# Resultado: [5, 4, 3, 2, 1]
print(numeros)

# Ordenar en orden descendente con sorted()
numeros_desc = sorted(numeros, reverse=True)

# Resultado: [5, 4, 3, 2, 1]
print(numeros_desc)

Personalizar la función de clasificación

Puedes personalizar la función de clasificación utilizando el parámetro key en la función sorted() o el método sort(). Key es una función que toma cada elemento de la lista y devuelve un valor que se utilizará para ordenar los elementos.

# Lista original de cadenas
nombres = ["Ana", "Carlos", "Juan", "María"]

# Ordenar por la longitud de las cadenas
nombres_ordenados = sorted(nombres, key=len)

# Resultado: ['Ana', 'Juan', 'María', 'Carlos']
print(nombres_ordenados)

Clasificación insensible a mayúsculas y minúsculas en listas en Python

Puedes realizar una clasificación insensible a mayúsculas y minúsculas utilizando el parámetro Key con una función que convierte todos los elementos a minúsculas antes de realizar la clasificación.

# Lista original con cadenas en mayúsculas y minúsculas
frutas = ["manzana", "NARANJA", "uva", "Piña"]

# Ordenar insensiblemente a mayúsculas y minúsculas
frutas_ordenadas = sorted(frutas, key=lambda x: x.lower())

# Resultado: ['manzana', 'NARANJA', 'Piña', 'uva']
print(frutas_ordenadas)

Invertir orden de las listas en Python

Para Invertir orden de una lista en Python, puedes usar el método reverse() después de haber ordenado la lista.

# Lista original
colores = ["rojo", "verde", "azul", "amarillo"]

# Ordenar la lista en orden ascendente
colores.sort()

# Ordenar en orden inverso
colores.reverse()

# Resultado: ['rojo', 'verde', 'azul', 'amarillo']
print(colores)