Modifying a Python dict during iteration raises RuntimeError

Modifying a Python dict during iteration raises RuntimeError

Iterating over a Python dict? Modifying existing values is fine, but adding or removing keys during iteration raises RuntimeError:

d = {'a':10, 'b':20, 'c':30}
for key, value in d.items():
    d[key+key] = value+value  # RuntimeError: dictionary changed size