Skip to content

Umkehrung einer Liste, eines Strings, eines Tupels in Python (reverse, reversed)

Python

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)