Начиная с Python 3.7 обычный dict тоже сохраняет порядок вставки. В каком случае OrderedDict из collections всё ещё полезнее?

AКогда нужен словарь, который автоматически сортирует ключи по алфавиту
BКогда нужен словарь с ограничением на максимальное количество ключей
CКогда нужен словарь, который запрещает перезапись существующих ключей
DКогда при сравнении двух словарей важен порядок добавления ключей
Правильный ответ. OrderedDict учитывает порядок при сравнении: два OrderedDict с одинаковыми ключами, но в разном порядке, не равны.

Разбор

Обычный dict в Python 3.7+ сохраняет порядок вставки, но при сравнении == порядок не учитывается: {'a': 1, 'b': 2} == {'b': 2, 'a': 1} вернёт True. Для OrderedDict порядок важен, и такие словари не будут равны. Также OrderedDict поддерживает метод .move_to_end(), которого нет у обычного dict.

Проверь себя · 1/3разбор после ответа
Есть множество s = {"a", "b"}. Нужно удалить элемент "c", если он есть, и не получать ошибку, если его нет. Какой способ корректен?
Тренировать Python в Telegram

Ещё вопросы по теме «Коллекции и структуры данных»