You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.
The view objects for collections.OrderedDict do not implement __reversed__ so something like this fails:
>>> from collections import OrderedDict
>>> od = OrderedDict()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: argument to reversed() must be a sequence
The view objects aren't sequences. od.items() and od.keys() implement Set. od.values() doesn't even do that much, only implementing __len__(), __iter__(), and __contains__().
The glossary implies that you should use "reversed(list(view))".  More information on mapping views is located in the docs for collections.ABC and for dict.  The source for the Mapping views is also helpful. 
Keep in mind that OrderedDict is not a sequence-like dict. It is essentially just a dict with a well-defined iteration order (by insertion order).  Just like its views, it should not used as a sequence.
We can't add __reversed__() to the Set or MappingView protocols without breaking third party code, but we can add it to concrete implementations of mapping views. In particular for views of OrderedDict which itself already have __reversed__().
Here is a patch which makes OrderedDict's views reversible.