Hur ersätter man värden i en lista i Python?

I den här artikeln kommer vi att se hur man ersätter värdet i en lista med Python. Vi kan ersätta värden i listan på serval sätt. Nedan finns metoderna för att ersätta värden i listan.

  • Använder listindexering
  • Används för loop
  • Använder while loop
  • Använder lambdafunktion
  • Använder listskiva

Metod 1: Använda listindexering

Vi kan komma åt objekt i listan med indexering. Detta är den enklaste och enklaste metoden för att ersätta värden i en lista i python. Om vi ​​vill ersätta det första objektet i listan kan vi använda index 0. Här nedan är indexet ett index för objektet som vi vill ersätta och new_value är ett värde som ska ersätta det gamla värdet i listan.

Syntax: l[index]=nytt_värde

Koda:

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'] 

Metod 2: Använda För Loop

Vi kan använda for loop för att iterera över listan och ersätta värden i listan. Anta att vi vill ersätta 'Hardik' och 'Pant' från listan med 'Shardul' och 'Ishan'. Vi hittar först värden i listan med för loop och if condition och ersätter det sedan med det nya värdet.

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'] 

Metod 3: Använda Medan Loop

Vi kan också använda en while-loop för att ersätta värden i listan. While loop gör samma arbete som för loop. I while-loopen först definierar vi en variabel med värdet 0 och itererar över listan. Om värdet matchar värdet som vi vill ersätta så ersätter vi det med det nya värdet.

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'] 

Metod 4: Använda Lambda funktion

I denna metod använder vi lambda och kartfunktion för att ersätta värdet i listan. map() är en inbyggd funktion i python för att iterera över en lista utan att använda någon loop-sats. En lambda är en anonym funktion i python som innehåller ett enkelradsuttryck. Här gav vi ett uttryck som ett villkor för att ersätta värde. Här byter vi ut 'Pant' med 'Ishan' i lambdafunktionen. Med hjälp av list()-funktionen konverterar vi sedan kartobjektet till listan.

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

Produktion:

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

Metod 5: Använda Lista skivning

Python låter oss göra skivning i en lista. Slicing ger oss tillgång till vissa delar av listan. Vi kan ersätta värden i listan genom att använda skivning. Först hittar vi indexet för variabeln som vi vill ersätta och lagrar det i variabeln 'i'. Sedan ersätter vi det objektet med ett nytt värde genom att använda listsnitt. Anta att vi vill ersätta 'Rahul' med 'Shikhar' då vi först hittar indexet för 'Rahul' och sedan gör listskivning och tar bort 'Rahul' och lägger till 'Shikhar' på den platsen.

Syntax: l=l[:index]+['nytt_värde']+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)>

Produktion:

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

Metod 6: Använda functools.reduce metod:

Algoritm:

  • Importera reduceringsmetod från functools.
  • initiera testlistan.
  • Använd reduceringsmetoden på testlistan som söker efter elementet i listan och ersätter det med nytt värde.
  • Skriv ut ny lista.

Pytonorm




# 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'] 

Tidskomplexitet: O(N), där n är längden på ingångslistan.
Extra utrymme: O(k), där k är längden på den nya listan med det nya värdet.