[Python-ideas] Adding collections.abc.Ordered

Ram Rachum ram at rachum.com
Mon Nov 9 03:03:18 EST 2015


I'm not Andrew, but I'm guessing simply writing
`OrderedDict(headers.items())`.

On Mon, Nov 9, 2015 at 6:28 AM, Guido van Rossum <guido at python.org> wrote:

> So if OrderedDict had always rejected construction from a dict, how would
> you have written this?
>
>
> On Sunday, November 8, 2015, Andrew Barnert via Python-ideas <
> python-ideas at python.org> wrote:
>
>> On Nov 8, 2015, at 14:10, Serhiy Storchaka <storchaka at gmail.com> wrote:
>> >
>> >> On 08.11.15 23:12, Sjoerd Job Postmus wrote:
>> >> On 8 Nov 2015, at 20:06, Amir Rachum <amir at rachum.com
>> >> <mailto:amir at rachum.com>> wrote:
>> >>> As part of BasicStruct I intend to allow the use of mapping types as
>> >>> __slots__, with the semantics of default values..
>> >>> So it'll look something like this:
>> >>>
>> >>>    class Point(BasicStruct):
>> >>>        __slots__ = {'x': 5, 'y': 7}
>> >>
>> >> So instead they'll write
>> >>     __slots__ = OrderedDict({'x': 5, 'y': 7})
>> >> Causing the same issues?
>> >
>> > Perhaps OrderedDict should reject unordered sources. Hey, here is yet
>> one use case!
>>
>> I've maintained code that does this:
>>
>>     self.headers = OrderedDict(headers)
>>     self.origheaders = len(headers)
>>
>> … so it can later do this:
>>
>>     altheaders = list(self.headers.items())[self.origheaders:]
>>
>> Not a great design, but one that exists in the wild, and would be broken
>> by OrderedDict not allowing a dict as an argument.
>>
>> Also, this wouldn't allow creating an OrderedDict from an empty dict
>> (which seems far less stupid, but I didn't lead with it because I can't
>> remember seeing it in real code).
>>
>> _______________________________________________
>> Python-ideas mailing list
>> Python-ideas at python.org
>> https://mail.python.org/mailman/listinfo/python-ideas
>> Code of Conduct: http://python.org/psf/codeofconduct/
>
>
>
> --
> --Guido (mobile)
>
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20151109/f281c29d/attachment.html>


More information about the Python-ideas mailing list