Kuinka korvata arvot luettelossa Pythonissa?
Tässä artikkelissa aiomme nähdä, kuinka arvo korvataan luettelossa Pythonilla. Voimme korvata listan arvot servi-tapoja. Alla on menetelmät listan arvojen korvaamiseksi.
- Listan indeksoinnin käyttäminen
- Silmukan käyttö
- Käytetään while-silmukkaa
- Käytä lambda-toimintoa
- Listan viipaloinnin käyttäminen
Tapa 1: Listan indeksoinnin käyttäminen
Voimme käyttää luettelon kohteita indeksoinnin avulla. Tämä on yksinkertaisin ja helpoin tapa korvata arvot luettelossa pythonissa. Jos haluamme korvata luettelon ensimmäisen kohteen, voimme di käyttää indeksillä 0. Tässä alla indeksi on korvattavan kohteen indeksi ja new_value on arvo, jonka pitäisi korvata luettelossa oleva vanha arvo.
Syntaksi: l[index]=uusi_arvo
Koodi:
Python 3
# 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)> |
Lähtö:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Pant']
Tapa 2: Käyttö Loopille
Voimme käyttää for-silmukkaa toistamaan luetteloa ja korvaamaan arvoja luettelossa. Oletetaan, että haluamme korvata 'Hardik' ja 'Pant' luettelosta sanoilla 'Shardul' ja 'Ishan'. Etsimme ensin arvot luettelosta käyttämällä for-silmukkaa ja if-ehtoa ja korvaamme sen sitten uudella arvolla.
Python 3
# 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)> |
Lähtö:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Ishan']
Tapa 3: Käyttö Vaikka Loop
Voimme myös käyttää while-silmukkaa korvaamaan luettelon arvot. While loop toimii samalla tavalla kuin silmukka. Ensin while-silmukassa määritetään muuttuja, jonka arvo on 0, ja iteroidaan luettelon yli. Jos arvo vastaa arvoa, jonka haluamme korvata, korvaamme sen uudella arvolla.
Python 3
# 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)> |
Lähtö:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Ishan']
Tapa 4: Käyttö Lambda toiminto
Tässä menetelmässä käytämme lambda- ja karttafunktiota korvaamaan luettelon arvon. map() on pythonin sisäänrakennettu funktio, joka toistaa luetteloa ilman silmukkakäskyä. Lambda on anonyymi python-funktio, joka sisältää yhden rivin lausekkeen. Tässä annoimme yhden lausekkeen ehdoksi arvon korvaamiseksi. Tässä korvaamme 'Pant' sanalla 'Ishan' lambda-toiminnossa. Sitten funktiolla list() muunnetaan karttaobjekti listaksi.
Syntaksi: l=list(map(lambda x: x.replace('vanha_arvo','uusi_arvo'),l))
Python 3
# 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)> |
Lähtö:
['Hardik', 'Rohit', 'Rahul', 'Virat', 'Ishan']
Menetelmä 5: Käyttö Listan viipalointi
Python antaa meille mahdollisuuden leikata luettelon sisällä. Viipalointi mahdollistaa pääsyn joihinkin luettelon osiin. Voimme korvata listan sisällä olevia arvoja viipaloimalla. Ensin löydämme sen muuttujan indeksin, jonka haluamme korvata, ja tallennamme sen muuttujaan 'i'. Sitten korvaamme kyseisen kohteen uudella arvolla käyttämällä luettelon viipalointia. Oletetaan, että haluamme korvata 'Rahul' sanalla 'Shikhar', kuin että löydämme ensin 'Rahulin' indeksin ja sitten leikkaamme luettelon ja poistamme 'Rahul' ja lisäämme 'Shikhar' siihen paikkaan.
Syntaksi: l=l[:index]+['uusi_arvo']+l[indeksi+1:]
Python 3
# 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)> |
Lähtö:
['Hardik', 'Rohit', 'Shikhar', 'Virat', 'Pant']
Menetelmä 6: Käyttö functools.reduce menetelmä:
Algoritmi:
- Tuo vähennysmenetelmä functooleista.
- alusta testiluettelo.
- Käytä testiluettelossa vähennysmenetelmää, joka tarkistaa luettelon elementin ja korvaa sen uudella arvolla.
- Tulosta uusi luettelo.
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)> |
Lähtö
['Hardik', 'Rohit', 'Shikhar', 'Virat', 'Pant']
Aika monimutkaisuus: O(N), missä n on syöteluettelon pituus.
Aputila: O(k), missä k on uuden listan pituus uudella arvolla.