Подумайте первое, что вам нужно, чтобы прочитать документацию. Если открыть учебник питона, а затем попытаться найти информацию о OrderedDict вы увидите следующее:
класс collections.OrderedDict ([элементы]) - Возвращает экземпляр ДИКТ подкласса, поддерживая обычные методы Dict. OrderedDict - это dict , который запоминает порядок ввода ключей. Если новая запись перезаписывает существующую запись, исходная позиция вставки остается без изменений. При удалении записи и повторной установке она переместит ее на конец .
Новое в версии 2.7.
Так что, если вы используете упорядоченный словарь, и вы не собираетесь удалять ключи, тогда «животное» всегда будет в положении, которое вы добавляете - например, Индекс 2.
Кроме того, чтобы получить индекс в «кошки» вы можете просто использовать:
from collections import OrderedDict
d = OrderedDict((("fruit", "banana"), ("drinks", "water"), ("animal", "cat")))
d.keys()
>>> ['fruit', 'drinks', 'animal']
d.values()
>>> ['banana', 'water', 'cat']
# So
d.values().index('cat')
>>> 2
Вы словарь не упорядоченный dict - это неупорядоченный простой Python dict. –
Просто потому, что вы называете это заказываемым диктоном, это не делает его одним! – Jacob