Законно ли удалять элементы из словаря в Python во время итерации над ним?
Например:
for k, v in mydict.iteritems():
if k == val:
del mydict[k]
Идея состоит в том, чтобы удалить из словаря элементы, которые не соответствуют определенному условию, вместо создания нового словаря, который является подмножеством того, по которому выполняется итерация.
Is это хорошее решение? Есть ли более элегантные и эффективные способы?