È 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?