logo

Funzione Python sorted()

Funzione sorted() di Python restituisce un elenco ordinato. Non è definito solo per la lista e accetta qualsiasi elemento iterabile (lista, tupla, stringa, ecc.).

Esempio

Python3






print>(>sorted>([>4>,>1>,>3>,>2>]))>

>

>

Produzione

[1, 2, 3, 4]>

Sintassi della funzione Python sorted()

ordinato(iterabile, chiave, inverso)

parametri:

  • Iterabile: sequenza (lista, tupla, stringa) o raccolta (dizionario, set, frozenset) o qualsiasi altro iteratore che deve essere ordinato.
  • Chiave (opzionale): Una funzione che servirebbe come chiave o base per il confronto di ordinamento.
  • Inversione (opzionale): Se True, l'iterabile verrebbe ordinato in ordine inverso (discendente), per impostazione predefinita è impostato come False.

Ritorno: Restituisce un elenco con gli elementi in ordine.

Come utilizzare la funzione sorted() in Python?

Usare la funzione sorted() è molto semplice. È una funzione incorporata in Python e può essere utilizzata con qualsiasi iterabile. Capiamolo meglio con un esempio:

Esempio:

Python3




# creating a list> counting>=> [>4>,>1>,>5>,>2>,>3>]> #print sorted list> print>(>sorted>(counting))>

>

>

Produzione

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

Altri esempi di funzioni Sorted()

Diamo un'occhiata ad alcuni casi d'uso della funzione sorted():

1. Ordinamento di un elenco Python utilizzando la funzione sorted()

In questo esempio, abbiamo applicato sorted on the Elenco Python .

Python3




classe scanner Java
x>=> [>2>,>8>,>1>,>4>,>6>,>3>,>7>]> > print>(>'Sorted List returned :'>,>sorted>(x))> > print>(>'Reverse sort :'>,>sorted>(x, reverse>=>True>))> > print>(>' Original list not modified :'>, x)>

>

>

Produzione

altalena Java
Sorted List returned : [1, 2, 3, 4, 6, 7, 8] Reverse sort : [8, 7, 6, 4, 3, 2, 1] Original list not modified : [2, 8, 1, 4, 6, 3, 7]>

2. Ordinamento di diversi tipi di dati con la funzione sorted()

In questo esempio, abbiamo utilizzato sorted() su diversi tipi di dati come list, tupla , corda, dizionario , set e set congelato.

Python3




# List> x>=> [>'q'>,>'w'>,>'r'>,>'e'>,>'t'>,>'y'>]> print>(>sorted>(x))> > # Tuple> x>=> (>'q'>,>'w'>,>'e'>,>'r'>,>'t'>,>'y'>)> print>(>sorted>(x))> > # String-sorted based on ASCII translations> x>=> 'python'> print>(>sorted>(x))> > # Dictionary> x>=> {>'q'>:>1>,>'w'>:>2>,>'e'>:>3>,>'r'>:>4>,>'t'>:>5>,>'y'>:>6>}> print>(>sorted>(x))> > # Set> x>=> {>'q'>,>'w'>,>'e'>,>'r'>,>'t'>,>'y'>}> print>(>sorted>(x))> > # Frozen Set> x>=> frozenset>((>'q'>,>'w'>,>'e'>,>'r'>,>'t'>,>'y'>))> print>(>sorted>(x))>

>

>

Produzione

['e', 'q', 'r', 't', 'w', 'y'] ['e', 'q', 'r', 't', 'w', 'y'] ['h', 'n', 'o', 'p', 't', 'y'] ['e', 'q', 'r', 't', 'w', 'y'] ['e', 'q', 'r', 't', 'w', 'y'] ['e', 'q', 'r', 't', 'w', 'y']>

3. Ordinamento inverso utilizzando Python sorted()

Ordinamento di una stringa in ordine lessicografico inverso in base all'impostazione inverso=Vero nella funzione sorted().

Python3




# Python3 code to demonstrate> # Reverse Sort a String> # using join() + sorted() + reverse> > # initializing string> test_string>=> 'geekforgeeks'> > # printing original string> print>(>'The original string : '> +> str>(test_string))> > # using join() + sorted() + reverse> # Sorting a string> res>=> ''.join(>sorted>(test_string, reverse>=> True>))> > # print result> print>(>'String after reverse sorting : '> +> str>(res))>

>

>

Produzione

The original string : geekforgeeks String after reverse sorting : srokkggfeeee>

4. Python Ordinato() con lambda

Utilizzo di sorted() all'interno della funzione lambda Python.

Python3




import> functools> test_string>=> 'geekforgeeks'> > print>(>'The original string : '> +> str>(test_string))> # using sorted() + reduce() + lambda> res>=> functools.>reduce>(>lambda> x, y: x>+> y,> >sorted>(test_string,> >reverse>=>True>))> print>(>'String after reverse sorting : '> +> str>(res))>

>

>

Produzione

The original string : geekforgeeks String after reverse sorting : srokkggfeeee>

5. Sorted() in Python con len()

In questo esempio, stiamo ordinando l'elenco in base alla sua lunghezza. La stringa di lunghezza minore dovrebbe venire per prima.

Python3

reagire in stile in linea




L>=> [>'cccc'>,>'b'>,>'dd'>,>'aaa'>]> print>(>'Normal sort :'>,>sorted>(L))> print>(>'Sort with len :'>,>sorted>(L, key>=>len>))>

>

>

Produzione

Normal sort : ['aaa', 'b', 'cccc', 'dd'] Sort with len : ['b', 'dd', 'aaa', 'cccc']>

La chiave può anche assumere funzioni definite dall'utente come valore per la base dell'ordinamento.

Esempio:

Python3




# Sort a list of integers based on> # their remainder on dividing from 7> def> func(x):> >return> x>%> 7> > L>=> [>15>,>3>,>11>,>7>]> > print>(>'Normal sort :'>,>sorted>(L))> print>(>'Sorted with key:'>,>sorted>(L, key>=>func))>

>

>

Produzione

Normal sort : [3, 7, 11, 15] Sorted with key: [7, 15, 3, 11]>

6. Ordinare un elenco in ordine crescente con sorted()

In my_list abbiamo un elenco di valori interi. Utilizziamo quindi la funzione sorted per ordinare l'elenco in ordine crescente. La funzione ordinata accetta l'iterabile da ordinare come primo argomento e restituisce un nuovo elenco che contiene gli elementi ordinati.

In my_string, abbiamo una stringa. Utilizziamo quindi la funzione sorted per ordinare i caratteri nella stringa in ordine crescente. La funzione ordinata tratta la stringa come un numero iterabile di caratteri e restituisce un nuovo elenco che contiene i caratteri ordinati.

In my_tuples abbiamo un elenco di tuple che contiene numeri interi e stringhe. Abbiamo utilizzato la funzione sorted per ordinare l'elenco in base al secondo elemento di ciascuna tupla. Per raggiungere questo obiettivo abbiamo passato una funzione lambda come argomento chiave alla funzione ordinata.

Python3




my_list>=> [>3>,>1>,>4>,>1>,>5>,>9>,>2>,>6>,>5>]> sorted_list>=> sorted>(my_list)> print>(sorted_list)> > my_string>=> 'hello, world!'> sorted_string>=> sorted>(my_string)> print>(sorted_string)> > my_tuples>=> [(>1>,>'one'>), (>3>,>'three'>), (>2>,>'two'>), (>4>,>'four'>)]> sorted_tuples>=> sorted>(my_tuples, key>=>lambda> x: x[>1>])> print>(sorted_tuples)>

gimp salvando come jpeg

>

>

Produzione

[1, 1, 2, 3, 4, 5, 5, 6, 9] [' ', '!', ',', 'd', 'e', 'h', 'l', 'l', 'l', 'o', 'o', 'r', 'w'] [(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]>

7. Ordinamento di un elenco di dizionari in base a una chiave specifica utilizzando sorted()

In questo esempio, stiamo ordinando l'elenco dei dizionari con una chiave specifica.

Python3




students>=> [> >{>'name'>:>'John'>,>'age'>:>20>},> >{>'name'>:>'Alice'>,>'age'>:>18>},> >{>'name'>:>'Bob'>,>'age'>:>22>}> ]> sorted_students>=> sorted>(students,key>=>lambda> x: x[>'age'>])> print>(sorted_students)>

>

>

Produzione

[{'name': 'Alice', 'age': 18}, {'name': 'John', 'age': 20}, {'name': 'Bob', 'age': 22}]>

8. Ordinamento di un elenco di oggetti personalizzati

In questo esempio, stiamo creando una classe personalizzata denominata Persona con due variabili di istanza nome ed età e stiamo creando tre oggetti della classe Persona e inserendo oggetti negli elenchi. Stiamo utilizzando la funzione ordinata che ordina gli oggetti della persona.

Python3




class> Person:> >def> __init__(>self>, name, age):> >self>.name>=> name> >self>.age>=> age> > >def> __repr__(>self>):> >return> f>'Person(name='{self.name}', age={self.age})'> > > people>=> [> >Person(>'John'>,>25>),> >Person(>'Alice'>,>18>),> >Person(>'Bob'>,>30>)> ]> sorted_people>=> sorted>(people, key>=>lambda> x: x.age)> print>(sorted_people)>

>

>

Produzione

[Person(name='Alice', age=18), Person(name='John', age=25), Person(name='Bob', age=30)]>

Abbiamo trattato la definizione, la sintassi e gli esempi della funzione sorted() in Python. Spero che questo abbia risposto alla tua domanda su Come utilizzare la funzione ordinata in Python?.

La funzione sorted() non deve essere confusa con il metodo list sort(), poiché sono diversi.

Spero che questo articolo ti abbia aiutato a comprendere la funzione sorted() in Python.