Hoe waarden in een lijst in Python vervangen?

In dit artikel gaan we zien hoe je de waarde in een lijst kunt vervangen met Python. We kunnen waarden in de lijst op verschillende manieren vervangen. Hieronder vindt u de methoden om waarden in de lijst te vervangen.

  • Lijstindexering gebruiken
  • For-lus gebruiken
  • While-lus gebruiken
  • Lambda-functie gebruiken
  • Gebruik maken van lijst-slicing

Methode 1: Lijstindexering gebruiken

We hebben toegang tot items van de lijst met behulp van indexering. Dit is de eenvoudigste en gemakkelijkste methode om waarden in een lijst in Python te vervangen. Als we het eerste item van de lijst willen vervangen, kunnen we index 0 gebruiken. Hieronder is de index een index van het item dat we willen vervangen en de nieuwe_waarde is een waarde die de oude waarde in de lijst zou moeten vervangen.

Syntaxis: l[index]=nieuwe_waarde

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)>

Uitgang:

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

Methode 2: Gebruiken For loop

We kunnen de for-lus gebruiken om de lijst te herhalen en waarden in de lijst te vervangen. Stel dat we ‘Hardik’ en ‘Pant’ uit de lijst willen vervangen door ‘Shardul’ en ‘Ishan’. We vinden eerst waarden in de lijst met behulp van for-lus en if-voorwaarde en vervangen deze vervolgens door de nieuwe waarde.

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)>

Uitgang:

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

Methode 3: Gebruiken Herhalingslus

We kunnen ook een while-lus gebruiken om waarden in de lijst te vervangen. While-lus doet hetzelfde werk als for-lus. In de while-lus definiëren we eerst een variabele met waarde 0 en herhalen we de lijst. Als de waarde overeenkomt met de waarde die we willen vervangen, vervangen we deze door de nieuwe waarde.

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)>

Uitgang:

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

Methode 4: Gebruiken Lambda-functie

Bij deze methode gebruiken we de lambda- en kaartfunctie om de waarde in de lijst te vervangen. map() is een ingebouwde functie in Python om een ​​lijst te doorlopen zonder een lusinstructie te gebruiken. Een lambda is een anonieme functie in Python die een enkele regeluitdrukking bevat. Hier hebben we één uitdrukking gegeven als voorwaarde om waarde te vervangen. Hier vervangen we ‘Pant’ door ‘Ishan’ in de lambda-functie. Vervolgens converteren we met behulp van de functie list() het kaartobject naar de lijst.

Syntaxis: l=lijst(kaart(lambda x: x.replace(‘oude_waarde’,’nieuwe_waarde’),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)>

Uitgang:

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

Methode 5: Gebruiken Lijst Snijden

Met Python kunnen we in een lijst segmenteren. Door te slicen hebben we toegang tot bepaalde delen van de lijst. We kunnen waarden in de lijst vervangen met behulp van slicen. Eerst vinden we de index van de variabele die we willen vervangen en slaan deze op in variabele 'i'. Vervolgens vervangen we dat item door een nieuwe waarde met behulp van lijstsegmentatie. Stel dat we ‘Rahul’ willen vervangen door ‘Shikhar’, dan vinden we eerst de index van ‘Rahul’ en doen dan list-slicing en verwijderen ‘Rahul’ en voegen op die plaats ‘Shikhar’ toe.

Syntaxis: l=l[:index]+[‘nieuwe_waarde’]+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)>

Uitgang:

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

Methode 6: Gebruiken functools.reduce methode:

Algoritme:

  • Importeer de reduce-methode uit functools.
  • Initialiseer de testlijst.
  • Gebruik de reduce-methode op de testlijst die controleert op het element in de lijst en deze vervangt door een nieuwe waarde.
  • Nieuwe lijst afdrukken.

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)>

Uitvoer

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

Tijdcomplexiteit: O(N), waarbij n de lengte van de invoerlijst is.
Hulpruimte: O(k), waarbij k de lengte is van de nieuwe lijst met de nieuwe waarde.



Dit Vind Je Misschien Leuk