É legítimo deletar itens de um dicionário em Python enquanto iteramos sobre ele?
Por exemplo:
for k, v in mydict.iteritems(): if k == val: del mydict[k]
A idéia é remover do dicionário os elementos que não atendem a uma determinada condição, em vez de criar um novo dicionário que seja um subconjunto do que está sendo iterado.
Esta é uma boa solução? Existem formas mais elegantes/eficientes?