Classificar uma lista em ordem decrescente em Python

Rayven Esplanada 26 dezembro 2022
Classificar uma lista em ordem decrescente em Python

Este tutorial demonstra como classificar uma lista em ordem decrescente no Python.

Use o método sort() para classificar uma lista em ordem decrescente em Python

Python tem uma função interna chamada sort(), que, por padrão, organiza a lista em ordem crescente. Este método simplesmente classifica o conteúdo da lista fornecida. Não possui parâmetros obrigatórios, mas possui parâmetros opcionais:

  • key - determina qual índice ou posição é classificado dentro de um array multidimensional.
  • reverse - Se True, a lista é classificada em ordem decrescente.

Vamos ver como esse método classifica a lista com e sem parâmetros:

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

print(colors)

Resultado:

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

A lista ordena strings com base em seus valores ASCII, que são as contrapartes inteiras de um único caractere. Se as duas cadeias de caracteres em comparação tiverem o mesmo valor ASCII, ele continuará a comparar os próximos caracteres de ambas as cadeias até que não haja mais nada para comparar.

  • Usando o parâmetro reverse:
colors = ["pink", "blue", "black", "white"]
colors.sort(reverse=True)
print(colors)

Resultado:

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

Definir o parâmetro reverse como True ordena uma lista em ordem decrescente.

Os números inteiros e de ponto flutuante de classificação são classificados com base no maior e no menor. Vamos tentar com outro exemplo, desta vez classificando inteiros e decimais em ordem decrescente:

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

print(numbers)

Resultado:

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

A partir da saída, a classificação de números usando a função sort() leva em conta os decimais, bem como os números negativos.

Este tipo de classificação também funciona em datas formatadas como YYYY-MM-DD HH:MM:SS. Vamos usar uma lista de carimbos de data/hora como exemplo para provar isso.

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)

Resultado:

['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 a saída foi classificada com sucesso em ordem decrescente, confirmando que os carimbos de data/hora também podem ser classificados corretamente usando a função sort() com o parâmetro reverse.

Em resumo, usar a função integrada sort() e definir o parâmetro reverse como True pode ser usado para classificar listas Python em ordem decrescente.

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

Artigo relacionado - Python List