Heim  >  Artikel  >  Backend-Entwicklung  >  Perfekte Lösung für das Problem der Fehlerberichterstattung, wenn Python leere Elemente im Wörterbuch durchläuft und löscht

Perfekte Lösung für das Problem der Fehlerberichterstattung, wenn Python leere Elemente im Wörterbuch durchläuft und löscht

高洛峰
高洛峰Original
2017-02-23 11:45:272083Durchsuche

Der folgende Editor bringt Ihnen einen Artikel, der das Problem der Fehlerberichterstattung perfekt löst, wenn Python Elemente mit leeren Werten im Wörterbuch durchläuft und löscht. Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Editor, um einen Blick darauf zu werfen

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

Verwenden Sie zum Löschen die folgende Durchlaufmethode:

1 für e in Prüfung:
2 exam [e] == '':
3. del exam[e]

Der folgende Fehler tritt auf, So lösen Sie ihn:

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

Richtiger Ansatz:

s = {"1":a, "2" :b,"3":c,"4":d,"5":e}
2.s_key = list(s.keys())
3 🎜>

4.#Wenn ich zum Beispiel das vierte Element löschen möchte, befindet sich

5.del s["4"]

nur in der for-Schleife, was äquivalent ist Zum Betrieb der verknüpften Liste wird automatisch die nächste Methode aufgerufen!

Der Iterator des Wörterbuchs durchläuft seine Schlüssel. Während dieses Vorgangs kann das Wörterbuch nicht geändert werden! Daten können nicht gelöscht oder hinzugefügt werden

Sie müssen zuerst den Index des zu löschenden Elements aufzeichnen und ihn dann löschen, nachdem Exam.keys() eine unabhängige Liste zurückgegeben hat

Das Obige Artikel ist die perfekte Lösung. Python durchläuft und löscht leere Elemente im Wörterbuch und meldet Fehler. Ich hoffe, dass er Ihnen eine Referenz geben kann, und ich hoffe, dass Sie die PHP-Chinese-Website unterstützen.

Weitere perfekte Lösungen für das Problem der Fehlerberichterstattung, wenn Python leere Elemente im Wörterbuch durchläuft und löscht, beachten Sie bitte die chinesische PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn