Come eliminare elementi da un dizionario durante l’iterazione su di esso?

| | | | | | |

È legittimo eliminare elementi da un dizionario in Python durante l'iterazione su di esso?

Ad esempio:

for k, v in mydict.iteritems(): if k == val: del mydict[k] 

L'idea è di rimuovere gli elementi che "non soddisfano una determinata condizione dal dizionario, invece di creare un nuovo dizionario che" è un sottoinsieme di quello su cui viene ripetuta.

È una buona soluzione? Ci sono modi più eleganti/efficienti?