Je dois chercher dans une liste et remplacer toutes les occurrences d’un élément par un autre. Je sais que je dois d’abord trouver l’index de tous les éléments et puis de les remplacer, mais mes tentatives dans le code sont me mène nulle part. Toutes les suggestions ?
Réponses
Trop de publicités?
outis
Points
39377
Essayez d’utiliser une compréhension de liste et l' opérateur ternaire.
damzam
Points
843
Compréhension de liste œuvres bien--et en boucle à travers avec enumerate peut vous faire économiser quelques mémoire (b/c de l’opération essentiellement faire en place).
Il y a aussi fonctionnelle programmation... voir utilisation de la carte:
>>> a = [1,2,3,2,3,4,3,5,6,6,5,4,5,4,3,4,3,2,1] >>> carte (lambda x : x si x ! = 4 'sss' autre chose, une) [1, 2, 3, 2, 3, « sss », 3, 5, 6, 6, 5, « sss », 5, « sss », 3, « sss », 3, 2, 1]
gnibbler
Points
103484