In Python können Sie die Elemente von Listen (Liste) mit reverse(), reversed() und Slicing umkehren. Wenn Sie Zeichenfolgen (str) und Tupel (tuple) umkehren möchten, verwenden Sie reversed() oder Slice.
Dieser Artikel hat folgenden Inhalt.
- Die Listentypmethode reverse() kehrt die ursprüngliche Liste um
- Die eingebaute Funktion reversed() gibt einen umgekehrten Iterator zurück
- Umgekehrt mit Schneiden
- Umgekehrte Zeichenfolgen und Tupel
Wenn SIE in aufsteigender oder absteigender Reihenfolge statt in umgekehrter Reihenfolge sortieren möchten, lesen Sie den following Artikel.
Die Listentypmethode reverse() kehrt die ursprüngliche Liste um
reverse() ist eine Methode vom Listentyp.
reverse() ist ein destruktiver Prozess, der die ursprüngliche Liste an Ort und Stelle umkehrt.
org_list = [1, 2, 3, 4, 5]
org_list.reverse()
print(org_list)
# [5, 4, 3, 2, 1]
Beachten Sie, dass reverse() keiner zurückgibt.
print(org_list.reverse())
# None
Die eingebaute Funktion reversed() gibt einen umgekehrten Iterator zurück
reversed() ist eine eingebaute Funktion.
Die integrierte Funktion reversed() generiert einen Iterator, der Elemente in umgekehrter Reihenfolge abruft.
reversed() gibt einen Iterator zurück, der die Elemente in umgekehrter Reihenfolge abruft. Die ursprüngliche Liste bleibt unverändert.
org_list = [1, 2, 3, 4, 5]
reverse_iterator = reversed(org_list)
print(org_list)
# [1, 2, 3, 4, 5]
print(type(reverse_iterator))
# <class 'list_reverseiterator'>
Beachten Sie, dass reversed() einen Iterator und keine Liste zurückgibt.
Sie können es einfach in einer For-Schleife verwenden.
for i in reversed(org_list):
print(i)
# 5
# 4
# 3
# 2
# 1
If SIE Eine Liste in umgekehrter Reihenfolge erhalten möchten, verwenden SIE list(), um den Iterator in Eine Liste umzuwandeln.
new_list = list(reversed(org_list))
print(org_list)
print(new_list)
# [1, 2, 3, 4, 5]
# [5, 4, 3, 2, 1]
Umgekehrt mit Schneiden
Sie können auch ein Slicing verwenden, um Listen umzukehren.
Geben Sie beim Slicing einen Bereich oder ein Inkrement in der Form [start:stop:end] an.
Wenn Start und Stopp ausgelassen Werden, wird die gesamte Liste ausgewählt, und durch Setzen von Schritt auf -1 können Elemente einzeln von hinten abgerufen werden.
Die umgekehrte Liste erhält Sie mit [::-1].
org_list = [1, 2, 3, 4, 5]
new_list = org_list[::-1]
print(org_list)
print(new_list)
# [1, 2, 3, 4, 5]
# [5, 4, 3, 2, 1]
Halbleiter zum Slicing finden Sie im following Artikel.
Umgekehrte Zeichenfolgen und Tupel
Da Strings und Tupel unveränderlich sind, gibt es keine reverse()-Methode, sterben das ursprüngliche Objekt aktualisiert.
Wenn Sie Zeichenfolgen oder Tupel umkehren möchten, verwenden Sie reversed() oder Slices.
Umgekehrte Saiten
Da Iteratoren nicht direkt in Strings konvertiert werden können, wandeln Sie bei der Verwendung von reversed() den Iterator in einer Liste mit einem Zeichen um und verbinden Sie sie dann mit join().
org_str = 'abcde'
new_str_list = list(reversed(org_str))
print(new_str_list)
# ['e', 'd', 'c', 'b', 'a']
new_str = ''.join(list(reversed(org_str)))
print(new_str)
# edcba
Die Methode mit Slicing ist dieselbe wie für Listen. Dies ist als einfachere Verwendung von reversed().
new_str = org_str[::-1]
print(new_str)
# edcba
Umgekehrte Tupel
Use you tuple(), um einen Iterator in ein Tupel umzuwandeln.
org_tuple = (1, 2, 3, 4, 5)
new_tuple = tuple(reversed(org_tuple))
print(new_tuple)
# (5, 4, 3, 2, 1)
Die Methode mit Slicing ist dieselbe wie für Listen.
new_tuple = org_tuple[::-1]
print(new_tuple)
# (5, 4, 3, 2, 1)