Ordina una lista in ordine decrescente in Python

Rayven Esplanada 26 dicembre 2022
Ordina una lista in ordine decrescente in Python

Questo tutorial mostra come ordinare una lista in ordine decrescente in Python.

Usa il metodo sort() per ordinare una lista in ordine decrescente in Python

Python ha una funzione incorporata chiamata sort(), che, per impostazione predefinita, dispone la lista in ordine crescente. Questo metodo ordina semplicemente il contenuto della lista data. Non ha parametri obbligatori, ma ha parametri opzionali:

  • key - determina quale indice o posizione è ordinato all’interno di un array multidimensionale.
  • reverse - Se True, la lista è ordinato in ordine decrescente.

Vediamo come questo metodo ordina la lista sia con che senza parametri:

  • Nessun parametro:
colors = ["pink", "blue", "black", "white"]
colors.sort()

print(colors)

Produzione:

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

L’elenco ordina le stringhe in base ai loro valori ASCII che sono le controparti intere per un singolo carattere. Se entrambe le stringhe a confronto hanno lo stesso valore ASCII, si procede al confronto dei caratteri successivi di entrambe le stringhe finché non è rimasto nulla da confrontare.

  • Utilizzando il parametro reverse:
colors = ["pink", "blue", "black", "white"]
colors.sort(reverse=True)
print(colors)

Produzione:

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

L’impostazione del parametro reverse su True ordina una lista in ordine decrescente.

Ordinamento di numeri interi e numeri a virgola mobile vengono ordinati in base a quale è maggiore o minore. Proviamolo con un altro esempio, questa volta ordinando numeri interi e decimali in ordine decrescente:

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

print(numbers)

Produzione:

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

Dall’output, l’ordinamento dei numeri utilizzando la funzione sort() prende nota dei decimali e dei numeri negativi.

Questo tipo di ordinamento funziona anche su date formattate come YYYY-MM-DD HH:MM:SS. Usiamo una lista di timestamp come esempio per dimostrarlo.

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)

Produzione:

['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']

Osserva che l’output è stato ordinato con successo in ordine decrescente, confermando che anche i timestamp possono essere ordinati correttamente usando la funzione sort() con il parametro reverse.

In sintesi, usando la funzione incorporata sort() e impostando il parametro reverse su True può essere usato per ordinare le liste Python in ordine 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

Articolo correlato - Python List