Comment remplacer des valeurs dans une liste en Python ?

Dans cet article, nous allons voir comment remplacer la valeur dans une liste en utilisant Python. Nous pouvons remplacer les valeurs dans la liste de différentes manières. Vous trouverez ci-dessous les méthodes pour remplacer les valeurs dans la liste.

  • Utilisation de l'indexation de liste
  • Utiliser la boucle for
  • Utilisation de la boucle while
  • Utilisation de la fonction lambda
  • Utilisation du découpage de liste

Méthode 1 : utilisation de l'indexation de liste

Nous pouvons accéder aux éléments de la liste en utilisant l'indexation. C'est la méthode la plus simple et la plus simple pour remplacer des valeurs dans une liste en python. Si nous voulons remplacer le premier élément de la liste, nous pouvons utiliser l'index 0. Ci-dessous, l'index est un index de l'élément que nous voulons remplacer et la new_value est une valeur qui doit remplacer l'ancienne valeur dans la liste.

Syntaxe: l[index]=nouvelle_valeur

Code:

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

Sortir:

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

Méthode 2 : Utilisation Pour la boucle

Nous pouvons utiliser la boucle for pour parcourir la liste et remplacer les valeurs dans la liste. Supposons que nous voulions remplacer « Hardik » et « Pant » dans la liste par « Shardul » et « Ishan ». Nous trouvons d’abord les valeurs dans la liste en utilisant la boucle for et la condition if, puis nous les remplaçons par la nouvelle valeur.

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

Sortir:

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

Méthode 3 : Utilisation Boucle while

Nous pouvons également utiliser une boucle while pour remplacer les valeurs dans la liste. La boucle While fait le même travail que la boucle for. Dans la boucle while, nous définissons d'abord une variable avec la valeur 0 et parcourons la liste. Si la valeur correspond à la valeur que nous souhaitons remplacer, nous la remplaçons par la nouvelle valeur.

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

Sortir:

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

Méthode 4 : Utilisation Fonction Lambda

Dans cette méthode, nous utilisons les fonctions lambda et map pour remplacer la valeur dans la liste. map() est une fonction intégrée en python permettant de parcourir une liste sans utiliser d'instruction de boucle. Un lambda est une fonction anonyme en python qui contient une expression sur une seule ligne. Ici, nous avons donné une expression comme condition pour remplacer la valeur. Ici, nous remplaçons « Pant » par « Ishan » dans la fonction lambda. Ensuite, en utilisant la fonction list(), nous convertissons l’objet map en liste.

Syntaxe: l=list(map(lambda x: x.replace('old_value','new_value'),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)>

Sortir:

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

Méthode 5 : Utilisation Découpage de liste

Python nous permet d'effectuer des découpages à l'intérieur d'une liste. Le découpage nous permet d'accéder à certaines parties de la liste. Nous pouvons remplacer les valeurs à l’intérieur de la liste en utilisant le découpage. Tout d’abord, nous trouvons l’index de la variable que nous voulons remplacer et le stockons dans la variable « i ». Ensuite, nous remplaçons cet élément par une nouvelle valeur en utilisant le découpage de liste. Supposons que nous voulions remplacer « Rahul » par « Shikhar », puis trouver d’abord l’index de « Rahul », puis effectuer un découpage de liste, supprimer « Rahul » et ajouter « Shikhar » à cet endroit.

Syntaxe: l=l[:index]+['nouvelle_valeur']+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)>

Sortir:

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

Méthode 6 : Utilisation functools.reduce méthode:

Algorithme:

  • Importez la méthode de réduction à partir de functools.
  • initialiser la liste de tests.
  • Utilisez la méthode de réduction sur la liste de test qui vérifie l'élément dans la liste et le remplace par une nouvelle valeur.
  • Imprimer une nouvelle liste.

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

Sortir

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

Complexité temporelle : O(N), où n est la longueur de la liste d'entrée.
Espace auxiliaire : O(k), où k est la longueur de la nouvelle liste avec la nouvelle valeur.