logo

Umkehren einer Liste in Python

Python bietet uns verschiedene Möglichkeiten, eine Liste umzukehren. Wir werden einige der vielen Techniken zum Erstellen einer Liste durchgehen Python kann umgekehrt werden.

Beispiel:



  Input:   list = [4, 5, 6, 7, 8, 9]   Output:   [9, 8, 7, 6, 5, 4]   Explanation:   The list we are having in the output is reversed to the list we have in the input.>

Umkehren einer Liste in Python

Nachfolgend sind die Ansätze aufgeführt, die wir in diesem Artikel behandeln:

  • Verwendung der schneiden Technik
  • Umkehren der Liste durch gleichzeitiges Vertauschen der aktuellen und letzten Nummern
  • Verwenden von reversed() und umkehren() eingebaute Funktion
  • Verwendung einer Zwei-Punkte-Ansatz
  • Verwendung der einfügen() Funktion
  • Benutzen Listenverständnis
  • Umkehren einer Liste mit Numpy

1. Rückwärts Liste mit Slicing-Technik

Bei dieser Technik wird eine Kopie der Liste erstellt und die Liste nicht vor Ort sortiert. Das Erstellen einer Kopie erfordert mehr Platz, um alle vorhandenen Elemente aufzunehmen. Dadurch wird mehr Speicher erschöpft. Hier verwenden wir die schneiden Technik, um unsere Liste in Python umzukehren.

Python3



Liste der Religionen






# Reversing a list using slicing technique> def> Reverse(lst):> >new_lst>=> lst[::>->1>]> >return> new_lst> lst>=> [>10>,>11>,>12>,>13>,>14>,>15>]> print>(Reverse(lst))>

>

>

Ausgabe

[15, 14, 13, 12, 11, 10]>

Zeitkomplexität: An)
Nebenraum: An)

2. Kehren Sie die Liste um, indem Sie die aktuellen und letzten Zahlen gleichzeitig vertauschen

Hier ist der Ansatz:

Wenn arr[], Größe und die Länge des Arrays 1 ist, dann arr zurückgeben. Wenn die Länge des Arrays 2 beträgt, vertauschen Sie die erste und letzte Zahl und geben Sie arr zurück. Andernfalls initialisieren Sie i=0. Schleife für i in size//2, dann die ersten aktuellen und letzten aktuellen Zahlen vertauschen, wenn die Indizes der ersten und nächsten Zahlen nicht gleich sind, dann die nächste und letzte der nächsten Zahlen vertauschen, dann i+=2 erhöhen und nach der Schleife arr zurückgeben.

Python3




#Python program to reverse an array> def> list_reverse(arr,size):> >#if only one element present, then return the array> >if>(size>=>=>1>):> >return> arr> > >#if only two elements present, then swap both the numbers.> >elif>(size>=>=>2>):> >arr[>0>],arr[>1>],>=>arr[>1>],arr[>0>]> >return> arr> > >#if more than two elements presents, then swap first and last numbers.> >else>:> >i>=>0> >while>(i//2): #swap present and preceding numbers at time and jump to second element after swap arr[i],arr[size-i-1]=arr[size-i-1],arr[i] #skip if present and preceding numbers indexes are same if((i!=i+1 and size-i-1 != size-i-2) and (i!=size-i-2 and size-i-1!=i+1)): arr[i+1],arr[size-i-2]=arr[size-i-2],arr[i+1] i+=2 return arr arr=[1,2,3,4,5] size=5 print('Original list: ',arr) print('Reversed list: ',list_reverse(arr,size)) #This contributed by SR.Dhanush>

>

>

Ausgabe

Original list: [1, 2, 3, 4, 5] Reversed list: [5, 4, 3, 2, 1]>

Zeitkomplexität: O(log2(n)), wo N ist die Länge des angegebenen Arrays.
Hilfsraum: O(1)

3. Liste umkehren mit den integrierten Funktionen Reversed() und Reverse()

Benutzen umgedreht() Wir können die Liste umkehren und a list_reverseiterator Es wird ein Objekt erstellt, aus dem wir mithilfe der Typumwandlung list() eine Liste erstellen können. Alternativ können wir auch die Liste verwenden umkehren() Funktion zum Umkehren der Liste an Ort und Stelle.

Python3




lst>=> [>10>,>11>,>12>,>13>,>14>,>15>]> lst.reverse()> print>(>'Using reverse() '>, lst)> print>(>'Using reversed() '>,>list>(>reversed>(lst)))>

>

Spark-Tutorial

>

Wann endet Q1?
Ausgabe

Using reverse() [15, 14, 13, 12, 11, 10] Using reversed() [10, 11, 12, 13, 14, 15]>

Zeitkomplexität: O(n), wobei n die Länge der Listenliste ist.
Nebenraum: O(1), da es die ursprüngliche Liste an Ort und Stelle ändert und keine neue Liste erstellt.

4. Kehren Sie eine Liste mithilfe eines Zwei-Zeiger-Ansatzes um

In dieser Methode deklarieren wir zwei Zeiger (im Wesentlichen den Startindex und den Endindex, also „links“ und „rechts“). Beim Scannen der Liste tauschen wir in jeder Iteration die Elemente am Index „links“ und „rechts“ aus.

Der „linke“ Zeiger bewegt sich vorwärts und der „rechte“ Zeiger bewegt sich rückwärts. Wir werden den Vorgang bis „erster“ <„letzter“ fortsetzen. Dies funktioniert sowohl für eine gerade Anzahl von Elementen als auch für eine ungerade Anzahl von Elementen.

Python3




# Reversing a list using two-pointer approach> def> reverse_list(arr):> >left>=> 0> >right>=> len>(arr)>->1> >while> (left # Swap temp = arr[left] arr[left] = arr[right] arr[right] = temp left += 1 right -= 1 return arr arr = [1, 2, 3, 4, 5, 6, 7] print(reverse_list(arr))>

>

>

Ausgabe

[7, 6, 5, 4, 3, 2, 1]>

Zeitkomplexität : AN)
Hilfsraum: O(1)

5. Kehren Sie eine Liste mit der Funktion insert() um

Bei dieser Methode kehren wir weder eine vorhandene Liste um (ändern die ursprüngliche Liste) noch erstellen wir eine Kopie davon Liste . Stattdessen fügen wir weiterhin Elemente am 0. Index der Liste ein, wodurch die Liste automatisch umgekehrt wird.

Python3




# input list> lst>=> [>10>,>11>,>12>,>13>,>14>,>15>]> # the above input can also be given as> # lst=list(map(int,input().split()))> l>=> []># empty list> # iterate to reverse the list> for> i>in> lst:> ># reversing the list> >l.insert(>0>, i)> # printing result> print>(l)>

>

>

Ausgabe

[15, 14, 13, 12, 11, 10]>

Zeitkomplexität: An)
Hilfsraum: O(n), wobei n die Länge der Liste ist.

6. Kehren Sie eine Liste mithilfe des Listenverständnisses um

Bei dieser Technik wird die Liste nicht vor Ort sortiert. Eine Kopie des ursprünglichen Arrays ist nicht erforderlich. Wir gebrauchen Listenverständnis um das Array umzukehren und die Liste zurückzugeben.

Wir ermitteln die Länge des Arrays und iterieren dann mithilfe des Bereichs darüber. Um nun das letzte Element durch das erste zu ersetzen, subtrahieren wir die Länge der ursprünglichen Liste vom Index des Iterators.

XML-Kommentar

Python3




original_list>=> [>10>,>11>,>12>,>13>,>14>,>15>]> new_list>=> [original_list[>len>(original_list)>-> i]> >for> i>in> range>(>1>,>len>(original_list)>+>1>)]> print>(new_list)>

>

>

Ausgabe

[15, 14, 13, 12, 11, 10]>

Zeitkomplexität: O(n), wobei n die Länge der Originalliste ist.
Nebenraum: An),

7. Kehren Sie eine Liste mit Numpy um

Hier werden wir verwenden Numpy-Paket :

Initialisieren Sie die Eingabeliste my_listKonvertieren Sie my_list mit np.array(my_list) in ein 1D-Numpy-Array. Kehren Sie die Reihenfolge des Arrays mit my_array um[::-1]Konvertieren Sie das Umgekehrte Numpy Array zurück zu einer Liste mit .tolist()

Drucken Sie die umgekehrte Liste aus

Python3




wie man einen Zeiger in c dereferenziert

import> numpy as np> # Input list> my_list>=> [>4>,>5>,>6>,>7>,>8>,>9>]> # Convert the list to a 1D numpy array> my_array>=> np.array(my_list)> # Reverse the order of the array> reversed_array>=> my_array[::>->1>]> # Convert the reversed array to a list> reversed_list>=> reversed_array.tolist()> # Print the reversed list> print>(reversed_list)>

>

>

Ausgabe:

[9, 8, 7, 6, 5, 4]>

Zeitkomplexität: An)
Nebenraum: An)

Wir haben viele Möglichkeiten zum Umkehren einer Liste in Python besprochen. Wir haben auch ihre zeitliche Komplexität und ihren Hilfsraum erwähnt, um Ihnen eine richtige Vorstellung von ihrer Verarbeitungsgeschwindigkeit zu geben.

Ich hoffe, dieser Artikel hat Ihnen geholfen, die Vorgehensweise zu verstehen Wie kann man eine Python-Liste umkehren? und Sie können eine Liste in Python ganz einfach umkehren.