Is there a canonical way to check whether an iterable is ordered?

Steven D'Aprano steve+comp.lang.python at
Fri Sep 19 07:04:51 CEST 2014

cool-RR wrote:

> My function gets an iterable of an unknown type. I want to check whether
> it's ordered. I could check whether it's a `set` or `frozenset`, which
> would cover many cases, but I wonder if I can do better. Is there a nicer
> way to check whether an iterable is ordered or not?

See the module:

I think what you want is:


Prior to 3.3, you would use:

# Untested.
import collections
isinstance(it, collections.Sequence)


More information about the Python-list mailing list