La funzione reversed in python
Nel linguaggio python la funzione reversed inverte l'ordine degli elementi in un oggetto iterabile.
reversed(x)
Dove l'argomento x è un oggetto iterabile qualsiasi ( lista, tupla, stringa, ecc. ).
La funzione scorre e legge l'oggetto iterabile al contrario, secondo l'ordine inverso, dall'ultimo al primo elemento.
Attenzione. La funzione reversed non effettua l'ordinamento decrescente ma si limita a leggere gli elementi a partire dall'ultimo. Quindi, per fare l'ordinamento decrescente di un oggetto iterabile è necessario prima elaborare l'ordinamento crescente dell'oggetto con la funzione sorted() ossia scrivendo reversed(sorted(x))
Un esempio pratico
Apro l'interprete di python e definisco una stringa.
stringa="1234"
Poi utilizzo la funzione reversed per scorrere la lista al contrario la lista
for i in reversed(stringa):
print(i)
Lo script restituisce in output il seguente risultato:
4
3
2
1
La funzione scorre gli elementi seguendo l'ordine decrescente.
Come fare l'ordinamento decrescente
Per ordinare una qualsiasi oggetto iterabile in ordine decrescente, è sufficiente ordinare prima l'oggetto.
reversed(sorted(x))
Dove l'argomento x è una stringa, una tupla o una lista.
Un esempio pratico
Se la stringa è la seguente
stringa="2143"
La funzione reversed restituirebbe la stringa inversa "3412".
Per ordinarla in modo decrescente utilizzo la funzione composta reversed(sorted())
for i in reversed(sorted(stringa)):
print(i)
Come funziona?
La funzione sorted ordina gli elementi secondo l'ordine crescente ( "1234" ) mentre la funzione reversed ne inverte l'ordine ( "4321").
Il risultato finale in output è il seguente:
4
3
2
1
Ho così ordinato gli elementi dell'oggetto in ordine decrescente
E così via.