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

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

Разбор

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

Проверь себя · 1/3разбор после ответа
После выполнения кода lst = [1, 2]; lst.append([3, 4]) чему равно lst?
Тренировать Python в Telegram

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