Come evitare l’errore “RuntimeError: il dizionario ha cambiato dimensione durante l’iterazione”?

| |

Ho controllato tutte le altre domande con lo stesso errore ma non ho trovato alcuna soluzione utile =/

Ho un dizionario di liste:

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

in cui alcuni valori sono vuoti . Al termine della creazione di questi elenchi, desidero rimuovere questi elenchi vuoti prima di restituire il mio dizionario. Attualmente sto tentando di farlo come segue:

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

tuttavia , questo mi dà l'errore di runtime. Sono consapevole del fatto che non è possibile aggiungere/rimuovere elementi in un dizionario durante l'iterazione... quale sarebbe un modo per aggirare questo problema?