Classificar uma lista em ordem decrescente em Python

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.

Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se
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