Avatar ·

Wie man einen Wert aus einem Dictionary während einer for-Schleife löscht

📁 Python, Fehler, Beispiel

Ich bin unerwartet auf ein solches Problem gestoßen. Während einer for-Schleife über ein Dictionary muss ich Einträge daraus löschen, aber egal wie ich es versuche, es erscheint ein Fehler:

RuntimeError: dictionary changed size during iteration

Ich habe sogar versucht, einen Snapshot des Dictionaries vor der Iteration zu erstellen und den Doppelgänger zu iterieren, während ich aus dem Original lösche.

Beispiel:

>>> ot={12:'wqe',13:'wqe',14:'wqe',15:'wqe'}>>> ot1=ot>>> for i in ot1:...  del ot[i]... Traceback (most recent call last):  File ""<stdin>