I denne artikkelen skal vi se hvordan du erstatter verdien i en liste ved hjelp av Python. Vi kan erstatte verdier i listen på serval-måter. Nedenfor er metodene for å erstatte verdier i listen.
- Bruker listeindeksering
- Brukes for loop
- Bruker while-løkke
- Bruker lambda-funksjon
- Bruker listeskjæring
Metode 1: Bruke listeindeksering
Vi kan få tilgang til elementer i listen ved hjelp av indeksering. Dette er den enkleste og enkleste metoden for å erstatte verdier i en liste i python. Hvis vi ønsker å erstatte det første elementet på listen kan vi bruke indeks 0. Her nedenfor er indeksen en indeks for elementet som vi ønsker å erstatte og new_value er en verdi som skal erstatte den gamle verdien i listen.
Syntaks: l[indeks]=ny_verdi
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)> |
>
>
Produksjon:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Pant']>
Metode 2: Bruke For Loop
Vi kan bruke for loop for å iterere over listen og erstatte verdier i listen. Anta at vi ønsker å erstatte 'Hardik' og 'Pant' fra listen med 'Shardul' og 'Ishan'. Vi finner først verdier i listen ved å bruke for loop og if condition og erstatter den deretter med den nye verdien.
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)> |
>
>
Produksjon:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Ishan']>
Metode 3: Bruke Mens Loop
Vi kan også bruke en while-løkke for å erstatte verdier i listen. Mens loop gjør det samme som for loop. I while-løkken først definerer vi en variabel med verdi 0 og itererer over listen. Hvis verdien samsvarer med verdien vi ønsker å erstatte, erstatter vi den med den nye verdien.
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)> |
>
>
Produksjon:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Ishan']>
Metode 4: Bruke Lambda funksjon
I denne metoden bruker vi lambda og kartfunksjon for å erstatte verdien i listen. map() er en innebygd funksjon i python for å iterere over en liste uten å bruke noen loop-setning. En lambda er en anonym funksjon i python som inneholder et enkelt linjeuttrykk. Her ga vi ett uttrykk som betingelse for å erstatte verdi. Her bytter vi ut ‘Pant’ med ‘Ishan’ i lambda-funksjonen. Ved å bruke list()-funksjonen konverterer vi kartobjektet til listen.
Syntaks: l=liste(kart(lambda x: x.erstatt('gammel_verdi','ny_verdi'),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)> |
>
>
Produksjon:
['Hardik', 'Rohit', 'Rahul', 'Virat', 'Ishan']>
Metode 5: Bruke Liste skjæring
Python lar oss skjære inn i en liste. Slicing gir oss tilgang til noen deler av listen. Vi kan erstatte verdier inne i listen ved hjelp av slicing. Først finner vi indeksen til variabelen som vi ønsker å erstatte og lagrer den i variabel 'i'. Deretter erstatter vi det elementet med en ny verdi ved å bruke listeskjæring. Anta at vi ønsker å erstatte 'Rahul' med 'Shikhar', så finner vi først indeksen til 'Rahul' og deretter skjærer listen og fjerner 'Rahul' og legger til 'Shikhar' på det stedet.
Syntaks: l=l[:indeks]+['ny_verdi']+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)> |
>
>
Produksjon:
['Hardik', 'Rohit', 'Shikhar', 'Virat', 'Pant']>
Metode 6: Bruke functools.reduce metode:
Algoritme:
- Importer redusere metode fra functools.
- initialisere testlisten.
- Bruk reduseringsmetode på testlisten som sjekker for elementet i listen og erstatter det med ny verdi.
- Skriv ut ny liste.
Python
rdbms
# 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)> |
>
>Produksjon
['Hardik', 'Rohit', 'Shikhar', 'Virat', 'Pant']>
Tidskompleksitet: O(N), hvor n er lengden på inndatalisten.
Ekstra plass: O(k), der k er lengden på den nye listen med den nye verdien.