Ordenar una lista en orden descendente en Python

Rayven Esplanada 26 diciembre 2022
Ordenar una lista en orden descendente en Python

Este tutorial demuestra cómo ordenar una lista en orden descendente en Python.

Utilice el método sort() para ordenar una lista en orden descendente en Python

Python tiene una función incorporada llamada sort(), que, por defecto, organiza la lista en orden ascendente. Este método simplemente ordena el contenido de la lista dada. No tiene ningún parámetro obligatorio, pero tiene parámetros opcionales:

  • key: determina qué índice o posición se ordena dentro de un array multidimensional.
  • reverse: si es True, la lista se ordena en orden descendente.

Veamos cómo este método ordena la lista con y sin parámetros:

  • Sin parámetros:
colors = ["pink", "blue", "black", "white"]
colors.sort()

print(colors)

Producción :

['black', 'blue', 'pink', 'white']

La lista ordena las cadenas en función de sus valores ASCII, que son las contrapartes enteras de un solo carácter. Si ambas cadenas en comparación tienen el mismo valor ASCII, entonces procede a comparar los siguientes caracteres de ambas cadenas hasta que no quede nada para comparar.

  • Utilizando el parámetro reverse:
colors = ["pink", "blue", "black", "white"]
colors.sort(reverse=True)
print(colors)

Producción :

['white', 'pink', 'blue', 'black']

Al establecer el parámetro reverse en True se ordena una lista en orden descendente.

Ordenar números enteros y de coma flotante se ordenan en función de cuál es mayor y menor. Probemos con otro ejemplo, esta vez ordenando números enteros y decimales en orden descendente:

numbers = [55, 6, -0.05, 0.07, 2.5, -7, 2.99, 101, 0.78]
numbers.sort(reverse=True)

print(numbers)

Producción :

[101, 55, 6, 2.99, 2.5, 0.78, 0.07, -0.05, -7]

A partir de la salida, la clasificación de números con la función sort() toma nota tanto de los decimales como de los números negativos.

Este tipo de clasificación también funciona en fechas formateadas como YYYY-MM-DD HH:MM:SS. Usemos una lista de marcas de tiempo como ejemplo para probar esto.

timestamps = [
    "2021-04-15 09:08:30",
    "2021-04-14 08:09:38",
    "2021-04-18 12:10:52",
    "2021-04-21 23:39:22",
    "2021-04-13 14:40:22",
    "2021-04-14 13:59:46",
    "2021-04-15 19:22:37",
    "2021-04-18 07:00:58",
    "2021-04-17 04:01:50",
    "2021-04-22 01:17:13",
    "2021-04-25 24:22:13",
    "2021-04-14 25:36:38",
]

timestamps.sort(reverse=True)

print(timestamps)

Producción :

['2021-04-25 24:22:13', '2021-04-22 01:17:13', '2021-04-21 23:39:22', '2021-04-18 12:10:52', '2021-04-18 07:00:58', '2021-04-17 04:01:50', '2021-04-15 19:22:37', '2021-04-15 09:08:30', '2021-04-14 25:36:38', '2021-04-14 13:59:46', '2021-04-14 08:09:38', '2021-04-13 14:40:22']

Observe que la salida se ha ordenado correctamente en orden descendente, lo que confirma que las marcas de tiempo también se pueden ordenar correctamente utilizando la función sort() con el parámetro reverse.

En resumen, el uso de la función incorporada sort() y la configuración del parámetro reverse en True se puede usar para ordenar las listas de Python en orden descendente.

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

Artículo relacionado - Python List