Sortierung ist eine Technik, um die Elemente oder Daten entweder in aufsteigender Reihenfolge oder absteigender Reihenfolge neu zu ordnen. In der Python -Programmierung können wir mit Hilfe der Methoden sort () und sortiert () sehr leicht sortieren.
Die Methoden sortiert () und sort () ordnen die Elemente entweder in aufsteigender oder absteigender Reihenfolge an. Sogar beide führen die gleichen Operationen aus, aber trotzdem sind sie unterschiedlich.
Für diese Tutorials müssen Benutzer einige grundlegende Ideen zur Liste, Tupel und Sets haben. Wir werden einige grundlegende Operationen dieser Datenstrukturen verwenden, um ein klares Bild von Sort () und sortierte () integrierte Methoden anzuzeigen. Und dafür benutze ich Python3. Wenn Sie also Python2 verwenden, kann es einen Ausgangsunterschied geben.
Sortiert ():
Die Syntax für die Funktion SortED () lautet:
sortiert (iterbar, Schlüssel, reverse = false)Wir werden die Sortierung sowohl auf der String- als auch in der Ganzzahldaten mit der integrierten Methode sortED () implementieren.
Die sortted () -Funktion akzeptiert eine iterable und gibt die sortierten iterbaren Elemente zurück, die standardmäßig in aufsteigender Reihenfolge enthalten sind. Standardmäßig ordnen die Funktion sortiert () Elemente in aufsteigender Reihenfolge, weil das umgekehrte = false.
Sortiernummern
In der Zellnummer [4]: Wir haben eine numerische Liste von Namensnummern erstellt.
In der Zellnummer [5]: Wir haben die Funktion sortED () angerufen und die numerische Liste (Zahlen) in diese übergeben. Wir haben die sortierte Liste als Gegenleistung erhalten, was auch eine neue Liste ist. Die neue Liste bedeutet, dass die ursprüngliche Liste, die wir als Parameter in den Sortierten () übergeben haben. Aus der Zellnummer [6] bestätigen wir, dass die ursprüngliche Liste auch nach der Anwendung sortiert () unverändert ist.
Die Funktion sortierte () hat die folgenden Eigenschaften:
Wir können auch die Ergebnisse sortiert () einer neuen Variablen zuweisen, wie unten gezeigt:
In der Zellnummer [13]: Wir haben eine numerische Liste von Namensnummern erstellt. Wir haben die Funktion sortiert () angerufen und die numerische Liste (Zahlen) in diese übergeben.
Anschließend haben wir das Ergebnis der Funktion SortEd () einer neuen variablen Sortierungen für die weitere Verwendung zugewiesen.
SortED () auf Tupel und Sets anwenden:
Die sortierte () -Funktion funktioniert auch auf Tupeln und Sets, um die Elemente zu sortieren.
In der Zellnummer [15]: Wir haben ein Tupel (num_tuple) und set (num_sets) erstellt.
In der Zellnummer [18]: Wir haben die sortierte Funktion aufgerufen und die Rückgabeergebnisse neuen Variablen zugeordnet (tuple_sorted und set_sorted). Wir haben dann die Ergebnisse gedruckt und die sortierten Daten erhalten. Die Ergebnisse befinden sich jedoch im Listenformat, nicht in den Tupeln und Sets Format, während wir die Parameter übergeben haben. Wenn wir also die Ergebnisse im selben Format (Sets und Tupel) erhalten möchten, müssen wir einen Cast verwenden.
In der Zellnummer [22]: Wir können aus der Ausgabe erkennen, nun im Format des Tupels und der Einstellung wie erwartet, da wir beim Aufrufen der Sorted () -Funktion auch den Gussbetreiber angewendet haben, der die Liste wieder in das erforderliche Format umwandelt.
Sortierzeichenfolge
Jetzt werden wir die Funktion sortED () auf der Liste der Zeichenfolgen anwenden, wie unten gezeigt. Sie werden sehen, dass wir vor dem Übergeben der Zeichenfolge an die Funktion Sortled () die methode split () verwenden, welcher Standardformatparameter Speicherplatz ist (aufgeteilt nach Speicherplatz). Der Grund dafür ist, die gesamte Zeichenfolge als Liste zu erhalten, aber die gesamte Zeichenfolge aufzuteilen, wenn der Speicherplatz kommt. Wenn wir nicht wie unten tun, wird die gesamte Zeichenfolge in Bezug.
Wenn wir also die methode split () während der Zeichenfolge sortiert () nicht verwenden, erhalten wir die Ergebnisse wie unten:
Sie können sehen, dass die gesamte Zeichenfolge, als wir an die Funktion sortiert () übergeben haben, die Liste der Zeichen zurückgibt. Jetzt entsprechen die Ergebnisse nicht den Anforderungen.
Um dieses Problem zu überwinden, müssen wir die Zeichenfolge, wie unten gezeigt. Wir teilen die Saite hier mit Raum, weil wir einen Raumschiff -Charakter haben, der die Saiten trennt. Aber es ist keine Einschränkung; Sie können jede Formatatter in der methode split () gemäß Ihren String -Positionen verwenden.
In der Zellnummer [27]: Wir initialisieren eine Zeichenfolge und teilen diese Zeichenfolge dann als Split -Formatierer aus dem Speicherplatz auf. Und wir erhalten die Liste jeder Zeichenfolge der gesamten Zeichenfolge anstelle der Zeichen der Zeichenfolge.
In der Zellnummer [28]: Wir nennen die Funktion sortiert () und übergeben diese str_value_list als Parameter in diese.
In der Zellnummer [29]: Wir drucken endlich die sortierte Zeichenfolgeliste zurück nach der Sorted () -Funktion. In der Zelle [30] drucken wir erneut die Originalliste, um zu bestätigen, dass die ursprüngliche Liste nicht durch die Funktion sortiert () geändert wird.
Sortieren mit dem umgekehrten = echten Argument
Jetzt werden wir den Standardparameter der Sorted () -Funktion von false auf true ändern. Wenn wir den Wert der Umkehrung von false auf true ändern, sortiert die Funktion sortiert () die Daten in absteigender Reihenfolge.
In der Zelle [3]: Wir haben eine Ganzzahlliste von Namensnummern erstellt.
In der Zelle [4]: Wir übergeben die Liste (Nummern) an die Funktion sortiert (). Daher haben wir das Gegenteil geändert = true. Wegen des Reverse = REA haben wir die Daten in absteigender Reihenfolge erhalten.
In der Zelle [5]: Wir drucken die Originalliste, um zu bestätigen, dass sie die Originalliste nicht geändert hat.
Sortieren des String Case ist wichtig
Der Python verwendet den Unicode -Code, um das erste Zeichen der Zeichenfolge zu bestimmen, bevor entweder absteigender oder aufsteigender Reihenfolge sortiert wird. Damit die Sorted () -Funktion die kleinen Fall- und Kapitalfallzeichen behandelt, ist derselbe, wie ein oder ein Wert, wie unten gezeigt:
Um dies zu verstehen, schreiben wir erneut ein kleines String -Sortierungsprogramm.
In der Zelle [6]: Wir haben eine String -Name -Liste mit allen ersten Zeichenkapital erstellt.
In der Zelle [7]: Als wir die Namenscase sortierten, haben wir das gewünschte Ergebnis erhalten.
In der Zelle [8]: Wenn wir den ersten Charakter von Harman in Harman und Apple in Apple ändern und die Liste erneut sortieren, haben wir ein unerwartetes Ergebnis erhalten, da das Ergebnis zeigt, dass die Apple -String an der 3. Position in der Liste, die tatsächlich an Position 1 in der Stelle sein sollte Listenindex. Dies geschieht aufgrund des Unicode -Code, den Python verwendet hat, um ihren Wert zu überprüfen.
In der Zelle [11]: Wir drucken den ersten Charakternamen mit ihrem Wert.
sortiert () unter Verwendung des Schlüsselparameters
Die sortierte () -Funktion hat ein leistungsfähigeres Merkmal, das das Schlüsselargument ist. Dieser Schlüssel erwartet eine Funktion, und jedes Element in der Liste muss an diesen Schlüssel übergeben, bevor er die endgültige Ausgabe generiert.
Wir können dies aus diesem grundlegenden Beispiel für die String -Sortierung verstehen. Im Vorgänger fanden wir, dass Python die Unicode -Methode verwendet hat, um den ersten Zeichenwert zu bestimmen, und sortiert dann die Elemente darauf. Wir können dies überwinden, indem wir die wichtigsten Funktionen verwenden, und unser Ergebnis wird nach unseren Erwartungen berücksichtigt.
Nun können wir sehen, dass aus dem Ergebnis, auch wenn der erste Charakter klein oder Kapital ist, nach unserer Erwartung Ergebnisse erzielen. Trotzdem wird der ursprüngliche Wert so gedruckt, wie wir gesehen haben.
Sort () Funktion
Die Syntax der Sort () -Funktion ist
Liste.sortieren (taste, reverse = false)Der Hauptunterschied zwischen der Funktion "sort () und sortiert () ist:
In der Zelle [18], Wir können sehen, dass die Sort () -Methode Teil der Liste und keine integrierte Methode ist. Die Sort () -Methode funktioniert auch nicht mit Tupeln und Sätzen. Die Sort () -Methode funktioniert nur mit der Liste, da sie Teil der Listenklasse ist.
Wir haben eine neue Liste erstellt und die Sort () -Methode genannt, während wir die Sorted () aufrufen, aber wir haben einen Fehler bekommen.
Wir können dies nur mit der Liste mit dem Punktoperator wie oben in der Syntax angezeigt nennen.
Deshalb nennen wir die Sort () -Methode mit der Liste (Zahlen) erneut und unsere Daten wurden in standardmäßig standardmäßig reverse = false angeordnet. Wenn wir jedoch die ursprüngliche Liste in der Zellnummer [28] drucken, fanden wir, dass sich die ursprüngliche Liste auch geändert hat.
Abschluss:
Also haben wir die Methoden Sort () und sortiert () untersucht. Wir haben auch gesehen, dass die Sort () -Methode keine integrierte Methode ist, da es sich um eine Listenklasse handelt und nur auf das Listenobjekt zugreifen kann. Aber die sortierte () -Methode ist integriert und kann auch mit dem Tupel und den Sets arbeiten.