Проверяет знание изменений в реализации словарей Python, начиная с версии 3.7, где порядок вставки стал гарантированным свойством языка.
До Python 3.6 словари не гарантировали сохранение порядка вставки элементов. Разработчики полагались на другие структуры данных, такие как OrderedDict из модуля collections, если им был нужен упорядоченный словарь. Однако начиная с Python 3.6, в реализации CPython (основной интерпретатор Python) было введено внутреннее изменение, которое сохраняло порядок вставки. Это было сделано для оптимизации памяти и производительности.
С выходом Python 3.7 сохранение порядка вставки стало частью спецификации языка. Это означает, что любая реализация Python (CPython, PyPy, Jython и т.д.) обязана соблюдать это поведение. Теперь можно полагаться на порядок элементов в обычном dict без использования OrderedDict.
# Python 3.7+ гарантирует порядок вставки
d = {}
d['banana'] = 3
d['apple'] = 1
d['cherry'] = 2
print(list(d.keys())) # ['banana', 'apple', 'cherry']
# Для обратной совместимости с более старыми версиями
from collections import OrderedDict
od = OrderedDict()
od['banana'] = 3
od['apple'] = 1
print(list(od.keys())) # ['banana', 'apple']Используйте обычный dict, если вам нужен порядок вставки, начиная с Python 3.7. Для кода, который должен работать на более старых версиях, применяйте OrderedDict. Это изменение упростило код и улучшило производительность, так как OrderedDict имеет небольшие накладные расходы.