Maison  >  Article  >  développement back-end  >  Pouvez-vous supprimer des éléments d’un dictionnaire Python pendant l’itération ?

Pouvez-vous supprimer des éléments d’un dictionnaire Python pendant l’itération ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-02 03:31:30626parcourir

Can You Delete Items from a Python Dictionary During Iteration?

Pouvez-vous supprimer des éléments d'un dictionnaire lors d'une 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.

Option pour Python 3

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>

Option pour Python 2

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn