Wie ersetze ich Werte in einer Liste in Python?

In diesem Artikel erfahren Sie, wie Sie den Wert in einer Liste mit Python ersetzen. Wir können Werte in der Liste auf verschiedene Arten ersetzen. Nachfolgend finden Sie die Methoden zum Ersetzen von Werten in der Liste.

  • Verwendung der Listenindizierung
  • Verwendung einer for-Schleife
  • Verwendung der While-Schleife
  • Verwendung der Lambda-Funktion
  • Verwenden von Listen-Slicing

Methode 1: Verwenden der Listenindizierung

Mithilfe der Indizierung können wir auf Elemente der Liste zugreifen. Dies ist die einfachste und einfachste Methode, Werte in einer Liste in Python zu ersetzen. Wenn wir das erste Element der Liste ersetzen möchten, können wir den Index 0 verwenden. Hier unten ist der Index ein Index des Elements, das wir ersetzen möchten, und der neue_Wert ist ein Wert, der den alten Wert in der Liste ersetzen soll.

Syntax: l[index]=new_value

Code:

Python3




# Replace Values in a List using indexing> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> # replace first value> l[> 0> ]> => 'Shardul'> # print list> print> (l)>

Ausgabe:

['Shardul', 'Rohit', 'Rahul', 'Virat', 'Pant'] 

Methode 2: Verwenden For-Schleife

Wir können eine for-Schleife verwenden, um die Liste zu durchlaufen und Werte in der Liste zu ersetzen. Angenommen, wir möchten „Hardik“ und „Pant“ aus der Liste durch „Shardul“ und „Ishan“ ersetzen. Wir suchen zuerst Werte in der Liste mithilfe der for-Schleife und der if-Bedingung und ersetzen sie dann durch den neuen Wert.

Python3




# Replace Values in a List using For Loop> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> for> i> in> range> (> len> (l)):> > # replace hardik with shardul> > if> l[i]> => => 'Hardik'> :> > l[i]> => 'Shardul'> > # replace pant with ishan> > if> l[i]> => => 'Pant'> :> > l[i]> => 'Ishan'> # print list> print> (l)>

Ausgabe:

['Shardul', 'Rohit', 'Rahul', 'Virat', 'Ishan'] 

Methode 3: Verwenden While-Schleife

Wir können auch eine While-Schleife verwenden, um Werte in der Liste zu ersetzen. Die While-Schleife funktioniert genauso wie die For-Schleife. In der while-Schleife definieren wir zunächst eine Variable mit dem Wert 0 und durchlaufen die Liste. Wenn der Wert mit dem Wert übereinstimmt, den wir ersetzen möchten, ersetzen wir ihn durch den neuen Wert.

Python3




# Replace Values in a List using While Loop> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> i> => 0> while> i <> len> (l):> > # replace hardik with shardul> > if> l[i]> => => 'Hardik'> :> > l[i]> => 'Shardul'> > # replace pant with ishan> > if> l[i]> => => 'Pant'> :> > l[i]> => 'Ishan'> > i> +> => 1> # print list> print> (l)>

Ausgabe:

['Shardul', 'Rohit', 'Rahul', 'Virat', 'Ishan'] 

Methode 4: Verwenden Lambda-Funktion

Bei dieser Methode verwenden wir Lambda und die Kartenfunktion, um den Wert in der Liste zu ersetzen. map() ist eine in Python integrierte Funktion zum Durchlaufen einer Liste, ohne eine Schleifenanweisung zu verwenden. Ein Lambda ist eine anonyme Funktion in Python, die einen einzeiligen Ausdruck enthält. Hier haben wir einen Ausdruck als Bedingung zum Ersetzen des Werts angegeben. Hier ersetzen wir „Pant“ durch „Ishan“ in der Lambda-Funktion. Dann konvertieren wir mit der Funktion list() das Kartenobjekt in die Liste.

Syntax: l=list(map(lambda x: x.replace(‘old_value’,’new_value’),l))

Python3




# Replace Values in a List using Lambda Function> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> # replace Pant with Ishan> l> => list> (> map> (> lambda> x: x.replace(> 'Pant'> ,> 'Ishan'> ), l))> # print list> print> (l)>

Ausgabe:

['Hardik', 'Rohit', 'Rahul', 'Virat', 'Ishan'] 

Methode 5: Verwenden Listen-Slicing

Mit Python können wir das Slicing innerhalb einer Liste durchführen. Durch das Slicing können wir auf einige Teile der Liste zugreifen. Wir können Werte innerhalb der Liste durch Slicing ersetzen. Zuerst suchen wir den Index der Variablen, die wir ersetzen möchten, und speichern ihn in der Variablen „i“. Anschließend ersetzen wir dieses Element mithilfe von List-Slicing durch einen neuen Wert. Angenommen, wir möchten „Rahul“ durch „Shikhar“ ersetzen, dann finden wir zuerst den Index von „Rahul“, führen dann eine Listenaufteilung durch, entfernen „Rahul“ und fügen an dieser Stelle „Shikhar“ hinzu.

Syntax: l=l[:index]+[‘neuer_Wert’]+l[index+1:]

Python3




# Replace Values in a List using Slicing> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> # find the index of Rahul> i> => l.index(> 'Rahul'> )> # replace Rahul with Shikhar> l> => l[:i]> +> [> 'Shikhar'> ]> +> l[i> +> 1> :]> # print list> print> (l)>

Ausgabe:

['Hardik', 'Rohit', 'Shikhar', 'Virat', 'Pant'] 

Methode 6: Verwenden functools.reduce Methode:

Algorithmus:

  • Reduziermethode aus Functools importieren.
  • Initialisieren Sie die Testliste.
  • Verwenden Sie die Reduzierungsmethode für die Testliste, die nach dem Element in der Liste sucht und es durch einen neuen Wert ersetzt.
  • Neue Liste drucken.

Python




# Replace Values in a List using reduce> from> functools> import> reduce> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> # replace Rahul with Shikhar> l> => reduce> (> lambda> a, b : a> +> [> 'Shikhar'> ]> if> b> => => 'Rahul'> else> a> +> [b], l , [])> # print list> print> (l)>

Ausgabe

['Hardik', 'Rohit', 'Shikhar', 'Virat', 'Pant'] 

Zeitkomplexität: O(N), wobei n die Länge der Eingabeliste ist.
Nebenraum: O(k), wobei k die Länge der neuen Liste mit dem neuen Wert ist.