TGViewer
Python: задачки и вопросы Python: задачки и вопросы @quiz_python · 6.93K subscribers
Post #4449 791
Методы 𝚔𝚎𝚢𝚜(), 𝚟𝚊𝚕𝚞𝚎𝚜(), 𝚒𝚝𝚎𝚖𝚜() возвращают не списки, а динамические представления (views) словаря, которые автоматически обновляются при изменениях в оригинальном словаре.

Разбор по шагам:
🔘𝚍 = {'a': 10, 'b': 20} создаёт словарь с двумя парами.
🔘𝚔𝚎𝚢𝚜 = 𝚍.𝚔𝚎𝚢𝚜() возвращает 𝚍𝚒𝚌𝚝_𝚔𝚎𝚢𝚜(['a', 'b']) — представление ключей, отражающее текущее состояние 𝚍.
🔘𝚍['c'] = 30 добавляет новую пару; представление 𝚔𝚎𝚢𝚜 мгновенно видит три ключа, поэтому 𝚕𝚒𝚜𝚝(𝚔𝚎𝚢𝚜) даёт ['a', 'b', 'c'].
🔘𝚍.𝚙𝚘𝚙('a') удаляет ключ 'a'; представление снова обновляется, и теперь 𝚕𝚎𝚗(𝚔𝚎𝚢𝚜) возвращает 2 (остались 'b' и 'c').

Views — это не копии, а «живые» ссылки на словарь, экономящие память и время. В отличие от Python 2 (где 𝚍𝚒𝚌𝚝.𝚔𝚎𝚢𝚜() возвращал список-копию), в Python 3 представления всегда динамичны. Если бы код использовал 𝚕𝚒𝚜𝚝(𝚍.𝚔𝚎𝚢𝚜()) в начале, то 𝚘𝚕𝚍_𝚔𝚎𝚢𝚜 = 𝚕𝚒𝚜𝚝(𝚍.𝚔𝚎𝚢𝚜()), добавление 'c' не повлияло бы на 𝚘𝚕𝚍_𝚔𝚎𝚢𝚜 — оно осталось бы ['a', 'b'].
  • ✍ 1
More from @quiz_python
  1. Sep 22, 2026Развёрнутое пояснение: 1. Вызов build_batch создаёт генератор, но его тело пока не исполня…
  2. Sep 22, 2026Post #4884
  3. Sep 22, 2026Развёрнутое пояснение: 1. Вызывается load_config, управление переходит в блок try. 2. Перв…
  4. Sep 22, 2026Post #4882
  5. Sep 21, 2026Развёрнутое пояснение: 1. make_handlers создаёт пустой список handlers. 2. Цикл дважды при…
  6. Sep 21, 2026Post #4880
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 →