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

1. Создаётся словарь tags с ключами api и db.

2. Запускается цикл for key in tags, который получает итератор ключей словаря.

3. Итератор запоминает ожидаемое количество элементов на момент начала обхода.

4. При первом же ключе api условие срабатывает и вызывается tags.pop(key), удаляя элемент из словаря.

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

6. print(tags) не выполняется, потому что исключение прерывает выполнение.

Почему это важно: такая ошибка часто возникает при фильтрации или очистке словарей состояния, кэша или метрик. Правильный способ — собрать ключи для удаления в отдельный список и удалять после цикла, либо создавать новый словарь через dict comprehension. Это позволяет избежать неожиданного падения на проде при обработке логов, конфигов или счётчиков.
  • ✍ 1
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 →