Выбор ответа Junior Коллекции спрашивают часто обновлено

Порядок ключей в dict

Вопрос

Что гарантирует язык о порядке ключей в dict начиная с Python 3.7?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Ключи хранятся в порядке вставки. С 3.7 сохранение порядка вставки стало гарантией языка (в CPython 3.6 это было деталью реализации).

Варианты ответа

  1. Ключи хранятся в порядке вставкиправильный ответ
  2. Ключи отсортированы по возрастанию
  3. Порядок произвольный и зависит от хешей
  4. Порядок вставки сохраняется только для строковых ключей

Разбор

С 3.7 сохранение порядка вставки стало гарантией языка (в CPython 3.6 это было деталью реализации). Сортировки по ключу нет, для неё делают sorted(d). Порядок не зависит от типа ключей. Перезапись значения существующего ключа его позицию не меняет, а удаление и повторная вставка переносят ключ в конец.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.