[Python-ideas] Indicate if an iterable is ordered or not

Guido van Rossum guido at python.org
Tue Sep 24 18:22:49 CEST 2013


What do you want to do with this knowledge?

On Tue, Sep 24, 2013 at 9:15 AM, Eric Snow <ericsnowcurrently at gmail.com> wrote:
> Iterables are not necessarily ordered (e.g. dict vs. OrderedDict).
> Sequences are but Sets aren't.  I'm not aware of any good way
> currently to know if an arbitrary iterable is ordered.  Without an
> explicit indicator of ordered-ness, you must know in advance for each
> specific type.
>
> One possible solution is an __isordered__ attribute (on the class),
> set to a boolean.  The absence of the attribute would imply False.
>
> Such an attribute would be added to existing types:
>
> * collections.abc.Iterable (default: False)
> * list (True)
> * tuple (True)
> * set (False)
> * dict (False)
> * collections.OrderedDict (True)
> * ...
>
> Thoughts?
>
> -eric
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> https://mail.python.org/mailman/listinfo/python-ideas



-- 
--Guido van Rossum (python.org/~guido)


More information about the Python-ideas mailing list