Kā Python sarakstā aizstāt vērtības?
Šajā rakstā mēs redzēsim, kā aizstāt vērtību sarakstā, izmantojot Python. Mēs varam aizstāt vērtības sarakstā serval veidos. Tālāk ir norādītas metodes, kā aizstāt vērtības sarakstā.
- Izmantojot sarakstu indeksēšanu
- Izmantojot cilpu
- Izmantojot cilpu while
- Izmantojot lambda funkciju
- Izmantojot saraksta sagriešanu
1. metode: saraksta indeksēšanas izmantošana
Mēs varam piekļūt saraksta vienumiem, izmantojot indeksēšanu. Šī ir vienkāršākā un vienkāršākā metode, kā aizstāt vērtības python sarakstā. Ja mēs vēlamies aizstāt pirmo saraksta vienumu, mēs to varam izdarīt, izmantojot indeksu 0. Tālāk rādītājs ir tā vienuma indekss, kuru mēs vēlamies aizstāt, un new_value ir vērtība, kurai jāaizstāj vecā vērtība sarakstā.
Sintakse: l[indekss]=jauna_vērtība
Kods:
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)> |
Izvade:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Pant']
2. metode: izmantošana For Loop
Mēs varam izmantot cilpu, lai atkārtotu sarakstu un aizstātu vērtības sarakstā. Pieņemsim, ka mēs vēlamies aizstāt vārdus Hardik un Pant no saraksta ar 'Shardul' un 'Ishan'. Vispirms sarakstā atrodam vērtības, izmantojot for cilpu un nosacījumu, un pēc tam aizstājam to ar jauno vērtību.
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)> |
Izvade:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Ishan']
3. metode: izmantošana Kamēr Loop
Mēs varam arī izmantot cilpu, lai aizstātu vērtības sarakstā. Kaut arī cilpa darbojas tāpat kā cilpa. Vispirms cilpā while mēs definējam mainīgo ar vērtību 0 un atkārtojam sarakstu. Ja vērtība atbilst vērtībai, kuru vēlamies aizstāt, mēs to aizstājam ar jauno vērtību.
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)> |
Izvade:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Ishan']
4. metode: izmantošana Lambda funkcija
Šajā metodē mēs izmantojam lambda un kartes funkciju, lai aizstātu vērtību sarakstā. map () ir python iebūvēta funkcija, kas atkārto sarakstu, neizmantojot cilpas paziņojumu. Lambda ir anonīma funkcija python, kas satur vienas rindiņas izteiksmi. Šeit mēs sniedzām vienu izteiksmi kā nosacījumu, lai aizstātu vērtību. Šeit mēs aizstājam “Pant” ar “Ishan” lambda funkcijā. Pēc tam, izmantojot funkciju list() mēs pārvēršam kartes objektu sarakstā.
Sintakse: l=saraksts(karte(lambda x: x.replace('vecā_vērtība','jaunā_vērtība'),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)> |
Izvade:
['Hardik', 'Rohit', 'Rahul', 'Virat', 'Ishan']
5. metode: lietošana Saraksta sagriešana
Python ļauj mums veikt sagriešanu sarakstā. Sagriešana ļauj mums piekļūt dažām saraksta daļām. Mēs varam aizstāt vērtības sarakstā, izmantojot sagriešanu. Pirmkārt, mēs atrodam mainīgā indeksu, kuru vēlamies aizstāt, un saglabājam to mainīgajā “i”. Pēc tam mēs aizstājam šo vienumu ar jaunu vērtību, izmantojot saraksta sadalīšanu. Pieņemsim, ka mēs vēlamies aizstāt “Rahul” ar “Shikhar”, nekā mēs vispirms atrodam “Rahul” indeksu un pēc tam veicam saraksta sagriešanu un noņemam “Rahul” un pievienojam “Shikhar” šajā vietā.
Sintakse: l=l[:indekss]+['jaunā_vērtība']+l[indekss+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)> |
Izvade:
['Hardik', 'Rohit', 'Shikhar', 'Virat', 'Pant']
6. metode: lietošana funkcionālie instrumenti.samazināt metode:
Algoritms:
- Importēt samazināšanas metodi no functools.
- inicializēt testa sarakstu.
- Pārbaudes sarakstā izmantojiet samazināšanas metodi, kas pārbauda elementu sarakstā un aizstāj to ar jaunu vērtību.
- Drukāt jaunu sarakstu.
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)> |
Izvade
['Hardik', 'Rohit', 'Shikhar', 'Virat', 'Pant']
Laika sarežģītība: O(N), kur n ir ievades saraksta garums.
Palīgtelpa: O(k), kur k ir jaunā saraksta garums ar jauno vērtību.