Сначала подумайте, что вам нужно прочитать документацию. Если вы откроете руководство по Python, а затем попытаетесь найти информацию об OrderedDict, вы увидите следующее:
class collection.OrderedDict ([items]) - возвращает экземпляр dict
подкласс, поддерживающий обычные методы dict. OrderedDict является диктатом
который помнит порядок, в который ключи были впервые вставлены. Если новая запись
перезаписывает существующую запись, исходная позиция вставки остается
без изменений. Удаление и повторная вставка записи переместит ее в
конец.
Новое в версии 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