Jak uniknąć błędu „RuntimeError: słownik zmienił rozmiar podczas iteracji”?

Sprawdziłem wszystkie inne pytania z tym samym błędem, ale nie znalazłem żadnego pomocnego rozwiązania = /

Mam słownik list:

d = {'a': [1], 'b': [1, 2], 'c': [], 'd':[]}

w którym niektóre wartości są puste. Pod koniec tworzenia tych list chcę usunąć te puste listy przed zwróceniem mojego słownika. Bieżące Próbuję to zrobić w następujący sposób:

for i in d:
    if not d[i]:
        d.pop(i)

jednak powoduje to błąd podczas wykonywania. Zdaję sobie sprawę, że nie można dodawać / usuwać elementów ze słownika podczas iteracji po nim ... co wtedy byłoby rozwiązaniem?

questionAnswers(7)

yourAnswerToTheQuestion