Funzione sorted
La funzione sorted restituisce una lista ordinata
da oggetti iterabili - lista,
tupla, insieme, dizionario. Per impostazione predefinita
la funzione ordina gli elementi della lista
in ordine alfabetico o crescente.
Nel primo parametro viene specificato l'oggetto da ordinare.
Nel secondo parametro opzionale del metodo
si può specificare il parametro reverse,
che definisce la direzione dell'ordinamento. Per impostazione predefinita
ha valore False.
Nel terzo parametro opzionale si può specificare una funzione di callback con i criteri di ordinamento.
Sintassi
sorted(oggetto, [modalità inversione lista], [funzione per l'ordinamento])
Esempio
Ordiniamo la nostra lista in ordine inverso:
lst1 = ['c', 'a', 'd', 'b', 'f', 'e']
lst2 = sorted(lst1, reverse=True)
print(lst2)
Risultato dell'esecuzione del codice:
['f', 'e', 'd', 'c', 'b', 'a']
Esempio
Ora ordiniamo in ordine inverso una lista composta da numeri:
lst1 = [10, 8, 2, 6, 14]
lst2 = sorted(lst1, reverse=True)
print(lst2)
Risultato dell'esecuzione del codice:
[14, 10, 8, 6, 2]
Esempio
Ordiniamo la nostra lista di lettere senza
specificare parametri nella funzione sorted:
lst1 = ['c', 'a', 'd', 'b', 'f', 'e']
lst2 = sorted(lst1)
print(lst2)
Risultato dell'esecuzione del codice:
['a', 'b', 'c', 'd', 'e', 'f']
Esempio
Ora ordiniamo una lista composta da numeri:
lst1 = [10, 8, 2, 6, 14]
lst2 = sorted(lst1)
print(lst2)
Risultato dell'esecuzione del codice:
[2, 6, 8, 10, 14]
Esempio
Ordiniamo un insieme:
st = {'a', 'b', 'c', 'd', 'e', 'f'}
lst = sorted(st)
print(lst)
Risultato dell'esecuzione del codice:
['a', 'b', 'c', 'd', 'e', 'f']
Esempio
Ordiniamo una tupla:
tpl = ('a', 'b', 'c', 'd', 'e', 'f')
lst = sorted(tpl)
print(lst)
Risultato dell'esecuzione del codice:
['a', 'b', 'c', 'd', 'e', 'f']
Esempio
Ordiniamo un dizionario:
dct = {
'6': 'f',
'2': 'b',
'4': 'd',
'3': 'c',
'1': 'a',
'5': 'e'
}
lst = sorted(dct)
print(lst)
Dopo l'esecuzione del codice, la funzione ci restituirà una lista ordinata delle chiavi del dizionario:
['1', '2', '3', '4', '5', '6']
Esempio
Con la funzione sorted si può anche
ordinare una stringa:
str = 'dacbfe'
lst = sorted(str)
print(lst)
Ma dopo l'esecuzione verrà comunque restituita una lista ordinata:
['a', 'b', 'c', 'd', 'e', 'f']