Hvordan erstatter man værdier i en liste i Python?

I denne artikel skal vi se, hvordan du erstatter værdien i en liste ved hjælp af Python. Vi kan erstatte værdier i listen på serval-måder. Nedenfor er metoderne til at erstatte værdier på listen.

  • Brug af listeindeksering
  • Bruges til loop
  • Bruger while-løkke
  • Bruger lambda funktion
  • Brug af listeskæring

Metode 1: Brug af listeindeksering

Vi kan få adgang til listens elementer ved hjælp af indeksering. Dette er den enkleste og nemmeste metode til at erstatte værdier i en liste i python. Hvis vi vil erstatte det første element på listen, kan vi bruge indeks 0. Her nedenfor er indekset et indeks for det element, vi ønsker at erstatte, og new_value er en værdi, der skal erstatte den gamle værdi i listen.

Syntaks: l[indeks]=ny_værdi

Kode:

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

Produktion:

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

Metode 2: Brug Til Loop

Vi kan bruge for loop til at iterere over listen og erstatte værdier i listen. Antag, at vi vil erstatte 'Hardik' og 'Pant' fra listen med 'Shardul' og 'Ishan'. Vi finder først værdier i listen ved hjælp af for loop og if condition og erstatter den derefter med den nye værdi.

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

Produktion:

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

Metode 3: Brug Mens Loop

Vi kan også bruge en while-løkke til at erstatte værdier i listen. Mens loop gør det samme arbejde som for loop. I while-løkken definerer vi først en variabel med værdien 0 og itererer over listen. Hvis værdien matcher den værdi, vi ønsker at erstatte, erstatter vi den med den nye værdi.

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

Produktion:

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

Metode 4: Brug Lambda funktion

I denne metode bruger vi lambda og kortfunktion til at erstatte værdien i listen. map() er en indbygget funktion i python til at iterere over en liste uden at bruge nogen loop-sætning. En lambda er en anonym funktion i python, der indeholder et enkelt linjeudtryk. Her gav vi ét udtryk som betingelse for at erstatte værdi. Her erstatter vi 'Pant' med 'Ishan' i lambda-funktionen. Ved at bruge funktionen list() konverterer vi kortobjektet til listen.

Syntaks: l=liste(kort(lambda x: x.erstat('gammel_værdi','ny_værdi'),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)>

Produktion:

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

Metode 5: Brug Liste Udskæring

Python giver os mulighed for at skære i en liste. Udskæring giver os adgang til nogle dele af listen. Vi kan erstatte værdier i listen ved hjælp af udskæring. Først finder vi indekset for variabel, som vi ønsker at erstatte, og gemmer det i variabel 'i'. Derefter erstatter vi det element med en ny værdi ved hjælp af listeudskæring. Antag, at vi vil erstatte 'Rahul' med 'Shikhar', så finder vi først indekset for 'Rahul' og derefter foretager listeudskæring og fjerner 'Rahul' og tilføjer 'Shikhar' på det sted.

Syntaks: l=l[:indeks]+['ny_værdi']+l[indeks+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)>

Produktion:

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

Metode 6: Brug funktionsværktøjer.reducere metode:

Algoritme:

  • Importer reducere metode fra functools.
  • initialisere testlisten.
  • Brug reducermetoden på testlisten, som tjekker for elementet i listen og erstatter det med ny værdi.
  • Udskriv ny liste.

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

Produktion

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

Tidskompleksitet: O(N), hvor n er længden af ​​inputlisten.
Hjælpeplads: O(k), hvor k er længden af ​​den nye liste med den nye værdi.