Jak usunąć elementy ze słownika podczas iteracji po nim?

| | | | | | |

Czy można usuwać elementy ze słownika w Pythonie podczas iteracji po nim?

Na przykład:

dla k, v w mydict.iteritems(): if k == val: del mydict[k] 

Ideą jest usunięcie ze słownika elementów, które nie spełniają określonego warunku, zamiast tworzenia nowego słownika, który jest podzbiorem tego, który jest powtarzany.

Czy to dobre rozwiązanie? Czy istnieją bardziej eleganckie/wydajne sposoby?