Cum să înlocuiți valorile într-o listă în Python?

În acest articol, vom vedea cum să înlocuim valoarea într-o listă folosind Python. Putem înlocui valorile din listă în mod serval. Mai jos sunt metodele de înlocuire a valorilor din listă.

  • Utilizarea indexării listelor
  • Folosind bucla for
  • Folosind bucla while
  • Utilizarea funcției lambda
  • Folosind tăierea listei

Metoda 1: Utilizarea indexării listelor

Putem accesa elementele listei folosind indexare. Aceasta este cea mai simplă și mai ușoară metodă de a înlocui valorile dintr-o listă în python. Dacă dorim să înlocuim primul element din listă, putem folosi indexul 0. Aici, mai jos, indexul este un index al articolului pe care dorim să-l înlocuim, iar new_value este o valoare care ar trebui să înlocuiască vechea valoare din listă.

Sintaxă: l[index]=new_value

Cod:

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

Ieșire:

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

Metoda 2: Utilizarea Pentru Loop

Putem folosi bucla for pentru a itera lista și a înlocui valorile din listă. Să presupunem că vrem să înlocuim „Hardik” și „Pant” din listă cu „Shardul” și „Ishan”. Mai întâi găsim valori în listă folosind bucla for și condiția if și apoi le înlocuim cu noua valoare.

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

Ieșire:

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

Metoda 3: Utilizarea While Loop

De asemenea, putem folosi o buclă while pentru a înlocui valorile din listă. While loop face aceeași activitate ca for loop. În bucla while, definim mai întâi o variabilă cu valoarea 0 și iterăm peste listă. Dacă valoarea se potrivește cu valoarea pe care dorim să o înlocuim, atunci o înlocuim cu noua valoare.

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

Ieșire:

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

Metoda 4: Utilizarea Funcția Lambda

În această metodă, folosim funcția lambda și map pentru a înlocui valoarea din listă. map() este o funcție încorporată în python pentru a repeta o listă fără a utiliza nicio instrucțiune buclă. O lambda este o funcție anonimă în python care conține o singură expresie de linie. Aici am dat o expresie ca o condiție pentru a înlocui valoarea. Aici înlocuim „Pant” cu „Ishan” în funcția lambda. Apoi folosind funcția list() convertim obiectul hartă în listă.

Sintaxă: l=listă(hartă(lambda x: x.replace(‘valoare_veche’,’valoare_nouă’),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)>

Ieșire:

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

Metoda 5: Utilizarea Tăierea listei

Python ne permite să facem feliere în interiorul unei liste. Tăierea ne permite să accesăm unele părți ale listei. Putem înlocui valorile din listă folosind tăierea. În primul rând, găsim indicele variabilei pe care dorim să o înlocuim și îl stocăm în variabila „i”. Apoi, înlocuim acel element cu o nouă valoare utilizând lista de tăiere. Să presupunem că vrem să înlocuim „Rahul” cu „Shikhar”, apoi găsim mai întâi indexul „Rahul”, apoi facem lista de feliere și eliminăm „Rahul” și adăugăm „Shikhar” în acel loc.

Sintaxă: l=l[:index]+[‘new_value’]+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)>

Ieșire:

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

Metoda 6: Utilizarea functools.reduce metodă:

Algoritm:

  • Import reduce metoda din functools.
  • inițializați lista de teste.
  • Utilizați metoda reduce pe lista de testare care verifică elementul din listă și îl înlocuiește cu o nouă valoare.
  • Tipăriți o nouă listă.

Piton




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

Ieșire

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

Complexitatea timpului: O(N), unde n este lungimea listei de intrare.
Spatiu auxiliar: O(k), unde k este lungimea noii liste cu noua valoare.