Maison >développement back-end >Tutoriel Python >Solution parfaite au problème du rapport d'erreurs lorsque Python parcourt et supprime des éléments vides dans le dictionnaire

Solution parfaite au problème du rapport d'erreurs lorsque Python parcourt et supprime des éléments vides dans le dictionnaire

高洛峰
高洛峰original
2017-02-23 11:45:272192parcourir

L'éditeur suivant vous proposera un article qui résout parfaitement le problème du rapport d'erreurs lorsque Python parcourt et supprime des éléments avec des valeurs vides dans le dictionnaire. L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur pour y jeter un œil

exam = { 'math' : '95', 'eng' : '96', 'chn' : '90', 'phy' : '', 'chem ' : '🎜>

Utilisez la méthode de parcours suivante pour supprimer :

1 pour e en examen :

2. exam [e] == '':
3. del exam[e]

L'erreur suivante se produit,

Comment la résoudre :

Traceback (most recent call last):
 File "Untitled.py", line 3, in <module>
  for e in exam:
RuntimeError: dictionary changed size during iteration

Approche correcte :

1. "2" :b,"3":c,"4":d,"5":e}

2. s_key = list(s.keys())
3 pour k_s dans s_key :

4.#Par exemple, si je veux supprimer le quatrième élément

5.del s["4"]

est juste dans la boucle for, ce qui est équivalent au fonctionnement de la liste chaînée, elle appellera automatiquement la méthode suivante !

L'itérateur du dictionnaire parcourra ses clés Durant ce processus, le dictionnaire ne peut pas être modifié ! Les données ne peuvent pas être supprimées ou ajoutées

Vous devez d'abord enregistrer l'index de l'élément à supprimer, puis le supprimer après l'avoir parcouru. Exam.keys() renvoie une liste indépendante

Ce qui précède. L'article est la solution parfaite. Python parcourt et supprime les éléments vides du dictionnaire et signale les erreurs. C'est tout le contenu partagé par l'éditeur. J'espère qu'il pourra vous donner une référence et j'espère que vous soutiendrez le site Web PHP chinois.

Pour des solutions plus parfaites au problème du rapport d'erreurs lorsque Python parcourt et supprime des éléments vides dans le dictionnaire, veuillez faire attention au site Web PHP 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