[Python-Dev] Proposal: add odict to collections

Guido van Rossum guido at python.org
Sun Jun 15 05:26:58 CEST 2008


On Sat, Jun 14, 2008 at 4:57 PM, André Malo <nd at perlig.de> wrote:
> * Armin Ronacher wrote:
>
>> Some reasons why ordered dicts are a useful feature:
>>
>>   - in XML/HTML processing it's often desired to keep the attributes of
>>     an tag ordered during processing.  So that input ordering is the
>>     same as the output ordering.
>>
>>   - Form data transmitted via HTTP is usually ordered by the position
>>     of the input/textarea/select field in the HTML document.  That
>>     information is currently lost in most Python web applications /
>>     frameworks.
>>
>>   - Eaiser transition of code from Ruby/PHP which have sorted
>>     associative arrays / hashmaps.
>>
>>   - Having an ordered dict in the standard library would allow other
>>     libraries support them.  For example a PHP serializer could return
>>     odicts rather then dicts which drops the ordering information.
>>     XML libraries such as etree could add support for it when creating
>>     elements or return attribute dicts.
>
> I find this collection of cases pretty weak as an argument for implementing
> that in the stdlib. A lot of special purpose types would fit into such
> reasoning, but do you want to have all of them maintained here?

No, but an ordered dict happens to be a *very* common thing to need,
for a variety of reasons. So I'm +0.5 on adding this to the
collections module. However someone needs to contribute working code.
It would also be useful to verify that it actually fulfills the needs
of some actual use case. Perhaps looking at how Django uses its
version would be helpful.

-- 
--Guido van Rossum (home page: http://www.python.org/~guido/)


More information about the Python-Dev mailing list