lettura facile

L'ordinamento di una lista in Python

In questa lezione ti spiego come ordinare una lista nel linguaggio Python.

Cos'è l'ordinamento di una lista? Ordinare una lista vuol dire disporre gli elementi in ordine crescente o decrescente. E' un'operazione che viene realizzata tramite appositi algoritmi di ordinamento (o sort).

Per ordinare una lista su Python puoi usare la funzione sorted() oppure il metodo reverse

La funzione sorted()

La funzione sorted() è una delle funzioni più comuni per ordinare una lista in Python.

sorted(lista, reverse=True/False)

La funzione ha due argomenti principali

  • Il nome della lista. E' un parametro obbligatorio
  • L'attributo reverse indica l'ordinamento crescente o decrescente. E' un parametro facoltativo. Se non lo indichi effettua un ordinamento crescente di default.

La funzione sorted() restituisce una nuova lista ordinata senza modificare la lista originale.

Ti faccio un esempio pratico.

Crea una lista con cinque elementi

>>> lista = [4, 1, 3, 5, 2]

Utilizza la funzione sorted() per ordinare la lista in modo crescente.

>>> lista2=sorted(lista)

La funzione sorted() restituisce una nuova lista con gli stessi elementi ordinati dal più piccolo al più grande.

Il risultato viene salvato in una seconda variabile chiamata "lista2".

Nella lista2 gli elementi sono ordinati in modo crescente.

>>> lista2
[1, 2, 3, 4, 5]

Nota. La funzione sorted() non modifica la disposizione degli elementi nella lista originale.

>>> lista
[4, 1, 3, 5, 2]

Per ordinare i dati della lista in modo decrescente, scrivi la funzione sorted() indicando reverse=True come secondo parametro

>>> lista2 = sorted(lista, reverse=True)

In questo caso la funzione sorted() restituisce una lista con i dati ordinati in modo decrescente.

>>> lista2
[5, 4, 3, 2, 1]

Il metodo sort()

Il metodo sort() è un altro metodo comune per ordinare una lista in Python.

lista.sort()

Puoi usarlo per ordinare le liste in modo crescente o decrescente.

Nota. A differenza della funzione sorted(), il metodo sort() ordina la lista originale e non restituisce una nuova lista ordinata.

Ti faccio un esempio pratico.

Crea una lista con cinque elementi

>>> lista = [4, 1, 3, 5, 2]

Utilizza il metodo sort() per fare un ordinamento crescente.

>>> lista2 = lista.sort()

Il metodo ordina gli elementi della lista in modo crescente.

Il risultato viene salvato nella variabile "lista2"

>>> lista2
[1, 2, 3, 4, 5]

Nota. Il metodo sort() ha modificato la disposizione degli elementi anche nella lista originale.

>>> lista
[1, 2, 3, 4, 5]

Per fare un ordinamento decrescente usa il metodo sort() sulla lista impostando l'argomento opzionale reverse=True.

lista.sort(reverse=True)

In questo caso il metodo sort() restituisce la lista originale ordinata in modo decrescente.

 

>>> lista
[5, 4, 3, 2, 1]




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin