Skip to content

Sortieren einer Liste, eines Strings, eines Tupels in Python (sort, sorted)

Python

In Python gibt es zwei Möglichkeiten, sort() und sorted(), um Listen (list) in aufsteigender oder absteigender Reihenfolge zu sortieren. Wenn Sie Strings (str) oder Tupel (tuple) sortieren möchten, verwenden Sie sorted().

Dieser Artikel hat folgenden Inhalt.

  • Die Listentypmethode sort() sortiert die ursprüngliche Liste
  • Die eingebaute Funktion sorted() gibt eine sortierte Liste zurück
  • Also sortieren Sie Buchstaben und Tupel

If SIE Elemente zufällig umkehren oder mischen möchten, lesen SIE sterben following Artikel.

sort() und sorted() haben den Schlüsselparameter, der hier nicht beschrieben wird.

Im following Artikel FINDEN SIE Beispiele für die Verwendung des Schlüsselparameters.

Die Listentypmethode sort() sortiert die ursprüngliche Liste

sort() ist eine Methode vom Listentyp.

sort() ist ein destruktiver Prozess, der die ursprüngliche Liste an Ort und Stelle sortiert.

org_list = [3, 1, 4, 5, 2]

org_list.sort()
print(org_list)
# [1, 2, 3, 4, 5]

Beachten Sie, dass reverse() keiner zurückgibt.

print(org_list.sort())
# None

Standardmäßig ist die Liste in aufsteigender Reihenfolge sortiert. Wenn Sie absteigend sortieren möchten, setzen Sie den Parameter reverse auf True.

org_list.sort(reverse=True)
print(org_list)
# [5, 4, 3, 2, 1]

Die eingebaute Funktion sorted() gibt eine sortierte Liste zurück

sorted() ist eine eingebaute Funktion.

Die Angabe einer Liste für sorted() gibt eine sortierte Liste zurück. Die ursprüngliche Liste bleibt unverändert.

org_list = [3, 1, 4, 5, 2]

new_list = sorted(org_list)
print(org_list)
print(new_list)
# [3, 1, 4, 5, 2]
# [1, 2, 3, 4, 5]

Wie bei sort() ist die Liste standardmäßig in aufsteigender Reihenfolge sortiert. Wenn Sie absteigend sortieren möchten, setzen Sie den Parameter reverse auf True.

new_list_reverse = sorted(org_list, reverse=True)
print(org_list)
print(new_list_reverse)
# [3, 1, 4, 5, 2]
# [5, 4, 3, 2, 1]

Also sortieren Sie Buchstaben und Tupel

Da Strings und Tupel unveränderlich sind, gibt es keine sort()-Methode, sterben das ursprüngliche Objekt aktualisiert.

Can you not only listen, but also Strings and Tupel for sterben Funktion sorted() angeben, sterben Eine neue sortierte Liste erstellt. Da sorted() eine Liste zurückgibt, muss diese in einen String oder ein Tupel umgewandelt werden.

Buchstaben sortieren

Die Übergabe eines Strings an sorted() gibt eine Liste zurück, sterben die sortierten Zeichen als Elemente enthält.

org_str = 'cebad'

new_str_list = sorted(org_str)
print(org_str)
print(new_str_list)
# cebad
# ['a', 'b', 'c', 'd', 'e']

Verwenden Sie die Methode join(), um eine Liste von Zeichen zu einer einzelnen Zeichenfolge zu verketten.

new_str = ''.join(new_str_list)
print(new_str)
# abcde

Sie können in einer Zeile schreiben. Wenn Sie in absteigender Reihenfolge sortieren möchten, setzen Sie das Argument reverse auf True.

new_str = ''.join(sorted(org_str))
print(new_str)
# abcde

new_str_reverse = ''.join(sorted(org_str, reverse=True))
print(new_str_reverse)
# edcba

Die Reihenfolge der Zeichen wird durch ihren Unicode-Codepunkt bestimmt.

Tupel sortieren

Das Sortieren von Tupeln ist dasselbe wie für Zeichenfolgen. Die Übergabe eines Tupels an sorted() gibt eine sortierte Liste zurück.

org_tuple = (3, 1, 4, 5, 2)

new_tuple_list = sorted(org_tuple)
print(org_tuple)
print(new_tuple_list)
# (3, 1, 4, 5, 2)
# [1, 2, 3, 4, 5]

Verwenden Sie tuple(), um eine Liste in ein Tupel umzuwandeln.

new_tuple = tuple(new_tuple_list)
print(new_tuple)
# (1, 2, 3, 4, 5)

Sie können in einer Zeile schreiben. Wenn Sie in absteigender Reihenfolge sortieren möchten, setzen Sie das Argument reverse auf True.

new_tuple = tuple(sorted(new_tuple_list))
print(new_tuple)
# (1, 2, 3, 4, 5)

new_tuple_reverse = tuple(sorted(new_tuple_list, reverse=True))
print(new_tuple_reverse)
# (5, 4, 3, 2, 1)