Met de sorteerfunctie kan de lijst zowel oplopend als aflopend worden gesorteerd. Het kan worden gebruikt om lijsten met gehele getallen, getallen met drijvende komma, tekenreeksen en andere te sorteren Python . De tijdscomplexiteit is O(NlogN).
Python sort()-syntaxis
De syntaxis van de functie sort() in Python is als volgt.
Syntaxis: lijst_naam.sort(sleutel=…, omgekeerd=…)
Parameters:
Standaard heeft Python sort() geen extra parameters nodig en sorteert de lijst in oplopende volgorde. Het heeft echter twee optionele parameters:
- sleutel: functie die als sleutel dient voor de sorteervergelijking
- achteruit: Indien waar, wordt de lijst in aflopende volgorde gesorteerd.
Winstwaarde: De sort() retourneert niets, maar wijzigt de originele lijst volgens de doorgegeven parameter.
Wat is de Python sort()-functie?
In Python wordt desort()>functie is een methode die tot de lijst behoort. Het wordt gebruikt om in Python of de elementen van een lijst standaard in oplopende volgorde te sorteren. Desort()>methode wijzigt de oorspronkelijke lijst ter plaatse, wat betekent dat de elementen rechtstreeks binnen het bestaande lijstobject worden herschikt, in plaats van een nieuwe gesorteerde lijst te maken.
Sort() in Python-voorbeelden
Een eenvoudig voorbeeld van de Python sort()-methode.
JavaScript-trim-subtekenreeks
Voorbeeld : In dit voorbeeld definieert de onderstaande code een lijst met de naamunsorted_list>met numerieke elementen. Desort()>De methode wordt vervolgens toegepast op de lijst, waarbij de elementen in oplopende volgorde worden gerangschikt. De gesorteerde lijst wordt vervolgens afgedrukt en toont het resultaat van de sorteerbewerking.
Python3
unsorted_list>=> [>2>,>4>,>5>,>32>,>6>,>255>,>5>,>42>]> unsorted_list.sort()> print>(>'Now it is sorted:'>, unsorted_list)> |
>
>
Uitgang:
Now it is sorted: [2, 4, 5, 5, 6, 32, 42, 255]>
Verschillende manieren om te sorteren() in Python
In Python,sort()>is een ingebouwde methode die wordt gebruikt om elementen in een lijst in oplopende volgorde te sorteren. Het wijzigt de bestaande oorspronkelijke lijst, wat betekent dat de elementen direct binnen de lijst opnieuw worden geordend zonder een nieuwe lijst te maken. Desort()>methode retourneert geen enkele waarde; het sorteert eenvoudigweg de lijst en werkt deze bij.
- Sorteren Lijst in oplopende volgorde
- Sorteren Lijst in aflopende volgorde
- Sorteren met aangepaste functie Sleutel gebruiken
- Sorteren Lijst met snaren op lengte
- Sorteerlijst van Tupels door een specifiek element
- Sorteerlijst van Woordenboeken door een specifieke sleutel
Sort() in Python met behulp van sorteerlijst in oplopende volgorde
De methode `sort()` in Python wordt gebruikt om een lijst met elementen in oplopende volgorde te sorteren. Het wijzigt de oorspronkelijke lijst ter plaatse en herschikt de elementen zodat ze in toenemende numerieke of lexicografische volgorde staan. De methode is toepasbaar op lijsten die numerieke waarden, tekenreeksen of een combinatie van beide bevatten. Standaard sorteert sort() in Python een lijst in oplopende volgorde als we deze niet van parameters voorzien.
Voorbeeld : In dit voorbeeld demonstreert de onderstaande code sorteerbewerkingen op verschillende soorten lijsten. Eerst sorteert het een lijst met gehele getallen (`getallen`) in oplopende volgorde met behulp van de `sort()`-methode. Vervolgens sorteert het een lijst met getallen met drijvende komma ('decimaal getal') in oplopende volgorde.
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)> |
>
>
Uitgang:
[1, 2, 3, 4] [1.68, 2.0, 2.01, 3.28, 3.67] ['For', 'Geeks', 'Geeks']>
Sort() in Python met behulp van de sorteerlijst in aflopende volgorde
Om een lijst in aflopende volgorde te sorteren, stelt u de omgekeerde parameter in op True van de sort()-functie in Python.
my_list.sort(reverse=True)>
Voorbeeld: ik In deze voorbeeldcode definieert de code drie lijsten van verschillende typen (gehele getallen, getallen met drijvende komma en tekenreeksen), sorteert deze in aflopende volgorde met behulp van de `sort`-methode met de `reverse=True`-parameter, en drukt vervolgens de gesorteerde lijsten af.
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)> |
>
>
Uitgang:
[4, 3, 2, 1] [3.67, 3.28, 2.01, 2.0, 1.68] ['Geeks', 'Geeks', 'For']>
Sorteren met aangepaste functie met sleutel
In deze methode wordt een sorteerbewerking beschreven met een aangepaste functie met behulp van de sleutelparameter. Hierdoor is sorteren mogelijk op basis van een specifiek criterium dat is gedefinieerd door de aangepaste functie, in plaats van op de standaardvolgorde. De aangepaste functie wordt op elk element toegepast en de lijst wordt dienovereenkomstig gesorteerd.
Voorbeeld : In dit voorbeeld definieert code een functie `sortSecond` die het tweede element van een tuple retourneert. Vervolgens maakt het een lijst met tupels, `list1`, en sorteert deze in oplopende volgorde op basis van het tweede element met behulp van de functie `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)> |
>
>
Uitgang:
[(1, 1), (1, 2), (3, 3)] [(3, 3), (1, 2), (1, 1)]>
Sorteerlijst met tekenreeksen op lengte in Sort() in Python
Bij deze methode sorteren we een lijst met strings in oplopende volgorde van hun lengte met behulp van de `sort()` functie met de `key=len`. Dit betekent dat de tekenreeksen zijn gerangschikt van de kortste naar de langste lengte in de resulterende gesorteerde lijst.
Voorbeeld : In dit voorbeeld definieert de onderstaande code een lijst met tekenreeksen,words>en sorteert deze vervolgens op basis van de lengte van elke tekenreeks met behulp van delen()>fungeren als sorteersleutel. Ten slotte drukt het de gesorteerde lijst af.
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)> |
>
>
Uitgang:
Sorted by Length: ['kiwi', 'apple', 'grape', 'banana', 'orange']>
Sorteerlijst met tupels op een specifiek element
Om een lijst met tupels op een specifiek element te sorteren, gebruikt u de `sort()` functie met de `key` parameter. Geef een lambda-functie op als sleutel, gericht op de index van het gewenste element. De tupels worden gesorteerd op basis van de waarden van dat specifieke element.
Voorbeeld : In deze methode definieert code een lijst met tupels met de naam ‘mensen’, waarbij elke tupel de naam en leeftijd van een persoon vertegenwoordigt. Vervolgens sorteert het de lijst op basis van het tweede element van elke tuple (leeftijd) met behulp van desort>methode en een lambda-functie als sorteersleutel.
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)> |
>
>
Uitgang:
Sorted by Age: [('Charlie', 22), ('Alice', 25), ('David', 28), ('Bob', 30)]> Lijst met woordenboeken sorteren op een specifieke sleutel
Deze methode omvat het gebruik van de functie `sort()` in een lijst met woordenboeken in Python. Door een lambda-functie als sleutelparameter op te geven, kunt u de lijst sorteren op basis van een specifieke sleutel binnen elk woordenboek. Hierdoor kan de lijst met woordenboeken in oplopende volgorde worden gerangschikt volgens de waarden die bij de gekozen sleutel horen.
Voorbeeld : In dit voorbeeld definieert code een lijst met opgeroepen woordenboekenstudents>, waarbij elk woordenboek een leerling vertegenwoordigt met naam- en leeftijdssleutels. Vervolgens sorteert het de lijst met woordenboeken op basis van de leeftijdssleutel in elk woordenboek met behulp van desort>methode en een lambdafunctie als sleutel.
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)> |
>
>
Uitgang:
Sorted by Age: [ {'name': 'Charlie', 'age': 22}, {'name': 'Alice', 'age': 25}, {'name': 'David', 'age': 28}, {'name': 'Bob', 'age': 30} ]> Verschil tussen de functie sort() en sort() in Python
Laten we eens kijken naar het verschil tussen de gesorteerd() en sort() functie in Python:
| Python gesorteerd() | Python sorteer() |
|---|---|
| De functie sort() retourneert een gesorteerde lijst van het specifieke itereerbare object. | De sort() methode sorteert de lijst. |
| We kunnen een oplopende of aflopende volgorde opgeven tijdens het gebruik van de sorteer() functie | Standaard wordt de lijst in oplopende volgorde gesorteerd. |
| Syntaxis : gesorteerd(itereerbaar, sleutel=sleutel, omgekeerd=omgekeerd) | Syntaxis : list.sort(reverse=True|False, key=myFunc) |
| Het retourtype is een gesorteerde lijst. | We kunnen het ook gebruiken om een lijst in aflopende volgorde te sorteren. |
| Kan worden gebruikt met elke iterabele, zelfs als de vergelijking tussen elementen niet is gedefinieerd | Vereist dat elementen vergelijkbaar zijn met behulp van de |
| Behoudt de relatieve volgorde van gelijke elementen, waardoor deze stabiel wordt. | Mogelijk niet stabiel; de volgorde van gelijke elementen kan veranderen. |
| O(n log n) tijdcomplexiteit voor de meeste gevallen. | O(n log n) tijdcomplexiteit voor de meeste gevallen. |
| Het kan alleen een lijst sorteren die slechts één type waarde bevat. | Het sorteert de lijst op zijn plaats. |
| Ondersteunt een | Ondersteunt ook een |
| Vereist extra geheugen voor de nieuwe gesorteerde lijst. | Voert het sorteren ter plaatse uit, waardoor geheugen wordt bespaard. |
Raadpleeg voor meer informatie Python-verschil tussen de functie sort() en sort(). .