logo

sort() în Python

Funcția de sortare poate fi folosită pentru a sorta lista atât în ​​ordine crescătoare, cât și în ordine descrescătoare. Poate fi folosit pentru a sorta liste de numere întregi, numere în virgulă mobilă, șiruri și altele Piton . Complexitatea sa de timp este O(NlogN).

Sintaxa Python sort().

Sintaxa funcției sort() în Python este următoarea.

Sintaxă: list_name.sort(key=…, reverse=…)



Parametri:

În mod implicit, Python sort() nu necesită parametri suplimentari și sortează lista în ordine crescătoare. Cu toate acestea, are doi parametri opționali:

  • cheie: funcție care servește drept cheie pentru compararea sortării
  • verso: Dacă este adevărat, lista este sortată în ordine descrescătoare.

Valoare returnată: Sortarea () nu returnează nimic, dar modifică lista originală în funcție de parametrul transmis.

Ce este funcția Python sort()?

În Python,sort()>funcția este o metodă care aparține listei . Este folosit pentru a sorta în python sau elementele unei liste în ordine crescătoare în mod implicit. Thesort()>metoda modifică lista inițială în loc, ceea ce înseamnă că rearanjează elementele direct în obiectul listă existent, mai degrabă decât să creeze o nouă listă sortată.

Sort() în exemplele Python

Un exemplu de bază al metodei Python sort().

defini computerul

Exemplu: În acest exemplu, codul de mai jos definește o listă numităunsorted_list>cu elemente numerice. Thesort()>Metoda este apoi aplicată listei, care își rearanjează elementele în ordine crescătoare. Lista sortată este apoi tipărită, arătând rezultatul operației de sortare.

Python3




unsorted_list>=> [>2>,>4>,>5>,>32>,>6>,>255>,>5>,>42>]> unsorted_list.sort()> print>(>'Now it is sorted:'>, unsorted_list)>

>

>

Ieșire:

Now it is sorted: [2, 4, 5, 5, 6, 32, 42, 255]>

Diferite moduri de sortare () în Python

În Python,sort()>este o metodă încorporată folosită pentru sortarea elementelor dintr-o listă în ordine crescătoare. Modifică lista originală, ceea ce înseamnă că reordonează elementele direct în listă fără a crea o nouă listă. Thesort()>metoda nu returnează nicio valoare; pur și simplu sortează lista și o actualizează.

  1. Triere Lista în ordine crescătoare
  2. Triere Lista în ordine descendentă
  3. Sortați cu funcție personalizată Folosind cheia
  4. Triere Lista șirurilor după lungime
  5. Lista de sortare a Tupluri printr-un Element Specific
  6. Lista de sortare a Dicționare printr-o cheie specifică

Sort() în Python folosind Lista de sortare în ordine crescătoare

Metoda `sort()` din Python este folosită pentru a sorta o listă de elemente în ordine crescătoare. Modifică lista originală în loc, rearanjandu-și elementele astfel încât să fie în ordine numerică sau lexicografică crescătoare. Metoda este aplicabilă listelor care conțin valori numerice, șiruri de caractere sau o combinație a ambelor. În mod implicit, sort() din Python sortează o listă în ordine crescătoare dacă nu îi furnizăm niciun parametru.

Exemplu : În acest exemplu, codul de mai jos demonstrează operațiunile de sortare pe diferite tipuri de liste. Mai întâi, sortează o listă de numere întregi (`numerele`) în ordine crescătoare folosind metoda `sort()`. Apoi, sortează o listă de numere în virgulă mobilă (`decimalnumber`) în ordine crescătoare.

Python3




# List of Integers> numbers>=> [>1>,>3>,>4>,>2>]> # Sorting list of Integers> numbers.sort()> print>(numbers)> # List of Floating point numbers> decimalnumber>=> [>2.01>,>2.00>,>3.67>,>3.28>,>1.68>]> # Sorting list of Floating point numbers> decimalnumber.sort()> print>(decimalnumber)> # List of strings> words>=> [>'Geeks'>,>'For'>,>'Geeks'>]> # Sorting list of strings> words.sort()> print>(words)>

>

>

Ieșire:

[1, 2, 3, 4] [1.68, 2.0, 2.01, 3.28, 3.67] ['For', 'Geeks', 'Geeks']>

Sort() în Python folosind Lista de sortare în ordine descrescătoare

Pentru a sorta o listă în ordine descrescătoare, setați parametrul invers la True al funcției sort() în Python.

my_list.sort(reverse=True)>

Exemplu: I n acest exemplu de cod definește trei liste de tipuri diferite (numere întregi, numere în virgulă mobilă și șiruri de caractere), le sortează în ordine descrescătoare folosind metoda `sort` cu parametrul `reverse=True` și apoi tipărește listele sortate.

Python3




# List of Integers> numbers>=> [>1>,>3>,>4>,>2>]> # Sorting list of Integers> numbers.sort(reverse>=>True>)> print>(numbers)> # List of Floating point numbers> decimalnumber>=> [>2.01>,>2.00>,>3.67>,>3.28>,>1.68>]> # Sorting list of Floating point numbers> decimalnumber.sort(reverse>=>True>)> print>(decimalnumber)> # List of strings> words>=> [>'Geeks'>,>'For'>,>'Geeks'>]> # Sorting list of strings> words.sort(reverse>=>True>)> print>(words)>

>

>

Ieșire:

[4, 3, 2, 1] [3.67, 3.28, 2.01, 2.0, 1.68] ['Geeks', 'Geeks', 'For']>

Sortați cu funcție personalizată folosind cheia

În această metodă se descrie o operație de sortare cu o funcție personalizată folosind parametrul cheie. Acest lucru permite sortarea pe baza unui criteriu specific definit de funcția personalizată, mai degrabă decât ordonarea implicită. Funcția personalizată este aplicată fiecărui element, iar lista este sortată în consecință.

Exemplu : În acest exemplu, codul definește o funcție `sortSecond` care returnează al doilea element al unui tuplu. Apoi creează o listă de tupluri, `list1`, și o sortează în ordine crescătoare pe baza celui de-al doilea element folosind funcția `sortSecond`.

Python3




def> sortSecond(val):> >return> val[>1>]> # list1 to demonstrate the use of sorting> # using second key> list1>=> [(>1>,>2>),(>3>,>3>),(>1>,>1>)]> # sorts the array in ascending according to> # second element> list1.sort(key>=>sortSecond)> print>(list1)> # sorts the array in descending according to> # second element> list1.sort(key>=>sortSecond,reverse>=>True>)> print>(list1)>

>

>

Ieșire:

[(1, 1), (1, 2), (3, 3)] [(3, 3), (1, 2), (1, 1)]>

Sortarea listei de șiruri după lungime în Sort() în Python

În această metodă sortăm o listă de șiruri în ordinea crescătoare a lungimii lor folosind funcția `sort()` cu `key=len`. Aceasta înseamnă că șirurile sunt aranjate de la cea mai scurtă la cea mai lungă lungime din lista sortată rezultată.

Exemplu: În acest exemplu, codul de mai jos definește o listă de șiruri de caractere,words>, iar apoi îl sortează în funcție de lungimea fiecărui șir folosindlen()>funcţionează ca cheie de sortare. În cele din urmă, tipărește lista sortată.

Python3




# Original list of strings> words>=> [>'apple'>,>'banana'>,>'kiwi'>,>'orange'>,>'grape'>]> # Sorting by length using the len() function as the key> words.sort(key>=>len>)> # Displaying the sorted list> print>(>'Sorted by Length:'>, words)>

>

>

Ieșire:

Sorted by Length: ['kiwi', 'apple', 'grape', 'banana', 'orange']>

Sortarea listei de tupluri după un element specific

Pentru a sorta o listă de tupluri după un anumit element, utilizați funcția `sort()` cu parametrul `key`. Specificați o funcție lambda ca cheie, vizând indexul elementului dorit. Tuplurile vor fi sortate pe baza valorilor acelui element specific.

Exemplu: În această metodă, codul definește o listă de tupluri numite „oameni”, unde fiecare tuplu reprezintă numele și vârsta unei persoane. Apoi sortează lista în funcție de cel de-al doilea element al fiecărui tuplu (vârstă) folosindsort>metoda și o funcție lambda ca cheie de sortare.

Python3




# Original list of tuples> people>=> [(>'Alice'>,>25>), (>'Bob'>,>30>), (>'Charlie'>,>22>), (>'David'>,>28>)]> # Sorting by the second element of each tuple (age)> people.sort(key>=>lambda> x: x[>1>])> # Displaying the sorted list> print>(>'Sorted by Age:'>, people)>

>

>

Ieșire:

Sorted by Age: [('Charlie', 22), ('Alice', 25), ('David', 28), ('Bob', 30)]>

Sortarea listei de dicționare după o anumită cheie

Această metodă implică utilizarea funcției `sort()` pe o listă de dicționare în Python. Specificând o funcție lambda ca parametru cheie, puteți sorta lista în funcție de o anumită cheie din fiecare dicționar. Aceasta permite ca lista de dicționare să fie aranjată în ordine crescătoare în funcție de valorile asociate cheii alese.

Exemplu : În acest exemplu, codul definește o listă de dicționare numitestudents>, unde fiecare dicționar reprezintă un student cu chei de nume și vârstă. Apoi sortează lista de dicționare în funcție de cheia de vârstă din fiecare dicționar folosindsort>metoda și o funcție lambda ca cheie.

Python3




# Original list of dictionaries> students>=> [> >{>'name'>:>'Alice'>,>'age'>:>25>},> >{>'name'>:>'Bob'>,>'age'>:>30>},> >{>'name'>:>'Charlie'>,>'age'>:>22>},> >{>'name'>:>'David'>,>'age'>:>28>},> ]> # Sorting by the 'age' key in each dictionary> students.sort(key>=>lambda> x: x[>'age'>])> # Displaying the sorted list> print>(>'Sorted by Age:'>, students)>

>

>

Ieșire:

Sorted by Age: [  {'name': 'Charlie', 'age': 22},  {'name': 'Alice', 'age': 25},  {'name': 'David', 'age': 28},  {'name': 'Bob', 'age': 30} ]>

Diferența dintre funcția sortat() și sort() în Python

Să vedem diferența dintre sortat() și funcția sort() în Python:

Python sortat()

sortare Python()

Funcția sorted() returnează o listă sortată a obiectului iterabil specific. Metoda sort() sortează lista.
Putem specifica ordinea crescătoare sau descrescătoare în timp ce folosim funcția sorted(). Sortează lista în ordine crescătoare în mod implicit.
Sintaxă : sortat(iterabil, cheie=cheie, inversă=invers) Sintaxă : list.sort(reverse=True|False, cheie=myFunc)
Tipul său de returnare este o listă sortată. Îl putem folosi și pentru sortarea unei liste în ordine descrescătoare.

Poate fi folosit cu orice iterabil, chiar dacă nu este definită comparația între elemente

Necesită ca elementele să fie comparabile folosind<>și>>>>operatori

Menține ordinea relativă a elementelor egale, făcându-l stabil.

Poate să nu fie stabil; ordinea elementelor egale se poate schimba.

O(n log n) complexitate de timp pentru majoritatea cazurilor.

O(n log n) complexitate de timp pentru majoritatea cazurilor.

Poate sorta doar o listă care conține un singur tip de valoare. Sortează lista în loc.

Suportă aDe asemenea, suportă akey>parametru pentru criteriile personalizate de sortare.

Necesită memorie suplimentară pentru noua listă sortată.

Efectuează sortarea la loc, economisind memorie.

Pentru a afla mai multe vă rugăm să consultați Diferența Python între funcția sortat() și sort(). .