F:
F[2]=1 Traceback (most recent call last):
File "/code/wtf.py", line 4, in <module>
for x in F:
RuntimeError: dictionary changed size during iteration
Как вы это объясните??
в ошибке ведь тебе всё объяснили
Нельзя менять дикт когда итерируешься, надо list(F) делать в for если так хочешь.
Можно через range
f = [1,2] for x in f: f.pop(1) Но почему list без ошибок работает?
потому что разные структуры данных наверное
это как?
Он хочет ровно столько итераций сколько пар в словаре как я понял
Интересно а линтеры могут такие моменты находить? Такая ошибка же может возникать только в рантайме
Да тесты конечно покажут, но ошибка такая неочевидная по моему
Литеры же про синтаксис
Обсуждают сегодня