Я нахожу это раздражающим, что словари Python не хранят ключи в порядке ввода. Недавно я начал использовать OrderedDict, который более удобен в использовании, поскольку он охватывает этот недостаток (например, итерация по столбцам файла CSV, где порядок столбцов должен соответствовать порядку клавиш словаря).Преимущества Dict над OrderDict
Сказано, есть ли какие-либо отличительные преимущества, которые имеет словарь для OrderedDict? Если так, то кто они?
Мне не нравится строковое представление 'OrderDict', поэтому их часто конвертируют в обычные' dict's для отображения. Там также должны быть дополнительные накладные расходы для поддержания заказа, положенные в цену за вход для этой функции (и, откровенно говоря, я ее никогда не замечал). – martineau
Обратите внимание, что в python 3.5 'OrderedDict' будет встроенным типом и будет использоваться для некоторых вещей (например,' ** kwargs'). – o11c
Существует общее правило о (контейнерах) классах - не только для Python: больше функций => больше накладных расходов, больше памяти => медленнее. Разумеется, все виды сопоставимых типов контейнеров. Это зависит от вас, что вам нужно, и сколько недостатков вы можете или хотите принять. Как в реальной жизни: ничего не бесплатно. – Olaf