TGViewer
Python: задачки и вопросы Python: задачки и вопросы @quiz_python · 6.94K subscribers
Post #4779 463
Python: задачки и вопросы
Развёрнутое пояснение:

1. Создаётся словарь d с ключами 'a' и 'b'.

2. Запускается цикл for key in d. Python создаёт итератор словаря, который фиксирует его текущий размер.

3. На первой итерации key равно 'a'. Выполняется d['a_copy'] = 1, и размер словаря увеличивается.

4. Когда цикл пытается перейти к следующей итерации, итератор обнаруживает изменение размера и выбрасывает RuntimeError: dictionary changed size during iteration.

5. Программа завершается с этой ошибкой, print(d) не выполняется.

Почему это важно: при обработке конфигов, метрик или логов часто хочется на ходу добавлять производные ключи в тот же словарь, но это приводит к падению. Правильный путь — собирать изменения в отдельную структуру, а затем обновлять оригинал.
  • ✍ 6
More from @quiz_python
  1. Sep 14, 2026А вы уже забрали свой подарок ко Дню программиста? Мы в Tproger вместе с нашими друзьями с…
  2. Aug 30, 2026Развёрнутое пояснение: 1. Создаётся список batch с двумя разными словарями. 2. Вызов enric…
  3. Aug 30, 2026Post #4875
  4. Aug 30, 2026Развёрнутое пояснение: 1. Создаётся внутренний список ['', '', ''] — три пустые строки. 2.…
  5. Aug 30, 2026Post #4873
  6. Aug 29, 2026Развёрнутое пояснение: 1. Декоратор dataclass(frozen=True) генерирует для Client методы __…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →