Как-то неожиданно столкнулся с такой проблемой. Во время цикла for по словарю мне нужно удалять из него записи, но как не крути вылазит ошибка :
RuntimeError: dictionary changed size during iterationЯ даже пробовал делать снапшот словаря перед итерацией и итерировать двойника при этом удаляя из оригинала.
Пример:
>>> ot={12:'wqe',13:'wqe',14:'wqe',15:'wqe'}>>> ot1=ot>>> for i in ot1:... del ot[i]... Traceback (most recent call last): File ""<stdin>"", line 1, in <module>RuntimeError: dictionary changed size during iterationКак удалять правильно?
upd: разобрался,
снапшот был уместен, но сделан чуть чуть неправильно вот так правильно:
>>> ot={12:'wqe',13:'wqe',14:'wqe',15:'wqe'}>>> ot1=ot.copy()>>> for i in ot1:... del ot[i]
question@mail.ru
·