Maison >développement back-end >Tutoriel Python >Comment supprimer en toute sécurité des éléments d'une liste lors d'une itération en Python ?
Itération dans une liste de tuples en Python, tentative de suppression d'éléments en fonction de certains critères :
for tup in somelist: if determine(tup): # How to remove 'tup'?
Pour supprimer des éléments lors de l'itération, un L'approche consiste à créer une nouvelle liste contenant uniquement les éléments souhaités :
somelist = [x for x in somelist if not determine(x)]
Alternativement, attribuer à la tranche somelist[:] mute la liste existante :
somelist[:] = [x for x in somelist if not determine(x)]
Pour une mutation directe, le Le module itertools fournit la fonction filterfalse :
from itertools import ifilterfalse somelist[:] = ifilterfalse(determine, somelist)
from itertools import filterfalse somelist[:] = filterfalse(determine, somelist)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!