Hoe verwijder je items uit een woordenboek terwijl je eroverheen herhaalt?

| | | | | | |

Is het legitiem om items uit een woordenboek in Python te verwijderen terwijl het wordt herhaald?

Bijvoorbeeld:

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

Het idee is om elementen die niet aan een bepaalde voorwaarde voldoen uit het woordenboek te verwijderen, in plaats van een nieuw woordenboek te maken dat "een subset is" van degene die wordt herhaald.

Is dit een goede oplossing? Zijn er elegantere/efficiëntere manieren?