Maison > Article > développement back-end > Pouvez-vous supprimer des éléments d’un dictionnaire Python pendant l’itération ?
Lors de la manipulation de dictionnaires en Python, la question de la suppression d'éléments lors d'une itération sur les clés se pose. Voici comment y parvenir efficacement.
Dans Python 3, vous pouvez parcourir une liste de clés obtenues à partir de la méthode keys() :
<code class="python">for k in list(mydict.keys()): if mydict[k] == 3: del mydict[k]</code>
Dans Python 2, la méthode iterkeys() renvoie un itérateur au lieu d'une liste. Par conséquent, la modification du dictionnaire lors d’une itération sur iterkeys() génère une RuntimeError. Utilisez plutôt la méthode keys() pour obtenir une liste de clés :
<code class="python">for k in mydict.keys(): if k == 'two': del mydict[k]</code>
Pour une suppression basée sur les valeurs des éléments, parcourez la méthode items() :
<code class="python">for k, v in mydict.items(): if v == 3: del mydict[k]</code>
N'oubliez pas de soyez prudent lorsque vous modifiez des dictionnaires pendant l'itération, car cela peut perturber le processus d'itération.
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!