En aquest article, veurem com substituir el valor d'una llista mitjançant Python. Podem substituir els valors de la llista de maneres serval. A continuació es mostren els mètodes per substituir els valors de la llista.
- Utilitzant la indexació de llistes
- S'utilitza for loop
- S'utilitza el bucle while
- Utilitzant la funció lambda
- Utilitzant el tall de llista
Mètode 1: Ús de la indexació de llistes
Podem accedir als elements de la llista mitjançant la indexació. Aquest és el mètode més senzill i fàcil per substituir valors en una llista en Python. Si volem substituir el primer element de la llista, podem fer servir l'índex 0. A continuació, l'índex és un índex de l'element que volem substituir i el valor_nou és un valor que hauria de substituir el valor antic de la llista.
Sintaxi: l[índex]=nou_valor
Codi:
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)> |
>
>
Sortida:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Pant']>
Mètode 2: Ús For Loop
Podem utilitzar el bucle for per iterar sobre la llista i substituir els valors de la llista. Suposem que volem substituir 'Hardik' i 'Pant' de la llista per 'Shardul' i 'Ishan'. Primer trobem valors a la llista fent servir el bucle for i la condició if i després els substituïm pel nou valor.
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)> |
>
>
Sortida:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Ishan']>
Mètode 3: Ús While Loop
També podem utilitzar un bucle while per substituir els valors de la llista. While loop fa el mateix treball que for loop. En el bucle while primer, definim una variable amb valor 0 i iterem per la llista. Si el valor coincideix amb el valor que volem substituir, el substituïm pel nou valor.
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)> |
>
>
Sortida:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Ishan']>
Mètode 4: Ús Funció Lambda
En aquest mètode, utilitzem lambda i la funció de mapa per substituir el valor de la llista. map() és una funció integrada a Python per iterar sobre una llista sense utilitzar cap instrucció de bucle. Una lambda és una funció anònima en Python que conté una expressió de línia única. Aquí hem donat una expressió com a condició per substituir el valor. Aquí substituïm 'Pant' per 'Ishan' a la funció lambda. A continuació, utilitzant la funció list() convertim l'objecte del mapa a la llista.
Sintaxi: l=lista(mapa(lambda x: x.replace('valor_antic','valor_nou'),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)> |
>
>
Sortida:
['Hardik', 'Rohit', 'Rahul', 'Virat', 'Ishan']>
Mètode 5: Ús Tall de llista
Python ens permet fer talls dins d'una llista. El tall ens permet accedir a algunes parts de la llista. Podem substituir els valors dins de la llista mitjançant el tall. En primer lloc, trobem l'índex de variable que volem substituir i l'emmagatzemem a la variable 'i'. Aleshores, substituïm aquest element per un nou valor mitjançant el tall de llista. Suposem que volem substituir 'Rahul' per 'Shikhar' que primer trobem l'índex de 'Rahul' i després fem llista de talls i eliminem 'Rahul' i afegim 'Shikhar' en aquest lloc.
Sintaxi: l=l[:índex]+[‘nou_valor’]+l[índex+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)> |
>
>
Sortida:
['Hardik', 'Rohit', 'Shikhar', 'Virat', 'Pant']>
Mètode 6: Ús functools.reduir mètode:
Algorisme:
- Importa el mètode de reducció de functools.
- inicialitzar la llista de proves.
- Utilitzeu el mètode de reducció a la llista de prova que comprova l'element de la llista i el substitueix amb un valor nou.
- Imprimeix una llista nova.
Python
java lambda
# 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)> |
>
>Sortida
['Hardik', 'Rohit', 'Shikhar', 'Virat', 'Pant']>
Complexitat temporal: O(N), on n és la longitud de la llista d'entrada.
Espai auxiliar: O(k), on k és la longitud de la llista nova amb el nou valor.