Re: Incompatible change discussion: Pretty printing of ordered dict.
Wes Turner <[email protected]> Wed, 2 Aug 2017 16:29:55 -0500
| Newsgroups | gmane.comp.python.ipython.devel |
|---|---|
| Message-ID | <CACfEFw9aMEEvFLGaQcYG3Ehh25W9cMG6vCMMHGXcO8PuMNVp_g@mail.gmail.com> |
--===============4026831685553916023== Content-Type: multipart/alternative; boundary="94eb2c1956aa1d75930555cbf707" --94eb2c1956aa1d75930555cbf707 Content-Type: text/plain; charset="UTF-8" Maybe a SORT_DICT_KEYS bool configuration setting? Really practically only in order to teach: - dict - https://docs.python.org/3/tutorial/datastructures.html#dictionaries - PYTHONHASHSEED / -R - https://docs.python.org/3/using/cmdline.html#envvar-PYTHONHASHSEED - https://docs.python.org/3/using/cmdline.html#cmdoption-R - collections.OrderedDict (is backwards compatible) - https://docs.python.org/3/library/collections.html#ordereddict-objects On Wednesday, August 2, 2017, Matthias Bussonnier < [email protected]> wrote: > Hi all, > > As you may or may not be aware, with Python 3.6 the dictionary are > ordered by default. It is technically an implementation detail, though > some people would love for it not to. > > Regardless, IPython has for a long time pretty-printed the dictionary > with _sorted_ keys, this thus prevent to teach python and show that > dictionaries maintain order. Thus there is the question of wether we > should disable sorting keys while pretty-printing. > > https://github.com/ipython/ipython/issues/10110 > > This seem like a minor change, but I'd like to know if some of you are > _relying_ on the ordering of dict when they are printed, or have > compelling arguments against (or for) removing sorting of the keys > before pretty_printing. > > If you care about the above subject, please have your voice heard in > above issue. > > Thanks, > -- > Matthias > _______________________________________________ > IPython-dev mailing list > [email protected] <javascript:;> > https://mail.python.org/mailman/listinfo/ipython-dev > --94eb2c1956aa1d75930555cbf707 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Maybe a SORT_DICT_KEYS bool configuration setting? Really practically only = in order to teach:<div><br></div><div>- dict</div><div>=C2=A0 -=C2=A0<a hre= f=3D"https://docs.python.org/3/tutorial/datastructures.html#dictionaries">h= ttps://docs.python.org/3/tutorial/datastructures.html#dictionaries</a></div= ><div>-=C2=A0<span style=3D"color:rgb(34,34,34);font-family:Roboto-Regular,= HelveticaNeue,Arial,sans-serif;font-size:14px">PYTHONHASHSEED / -R</span></= div><div><span style=3D"color:rgb(34,34,34);font-family:Roboto-Regular,Helv= eticaNeue,Arial,sans-serif;font-size:14px">=C2=A0 -=C2=A0</span><font color= =3D"#222222" face=3D"Roboto-Regular, HelveticaNeue, Arial, sans-serif"><spa= n style=3D"font-size:14px"><a href=3D"https://docs.python.org/3/using/cmdli= ne.html#envvar-PYTHONHASHSEED">https://docs.python.org/3/using/cmdline.html= #envvar-PYTHONHASHSEED</a></span></font></div><div><font color=3D"#222222" = face=3D"Roboto-Regular, HelveticaNeue, Arial, sans-serif"><span style=3D"fo= nt-size:14px">=C2=A0 - <a href=3D"https://docs.python.org/3/using/cmdline.h= tml#cmdoption-R">https://docs.python.org/3/using/cmdline.html#cmdoption-R</= a></span></font></div><div><font color=3D"#222222" face=3D"Roboto-Regular, = HelveticaNeue, Arial, sans-serif"><span style=3D"font-size:14px">- collecti= ons.OrderedDict (is backwards compatible)</span></font></div><div><span sty= le=3D"color:rgb(34,34,34);font-family:Roboto-Regular,HelveticaNeue,Arial,sa= ns-serif;font-size:14px">=C2=A0 -=C2=A0<a href=3D"https://docs.python.org/3= /library/collections.html#ordereddict-objects">https://docs.python.org/3/li= brary/collections.html#ordereddict-objects</a></span></div><div><font color= =3D"#222222" face=3D"Roboto-Regular, HelveticaNeue, Arial, sans-serif"><spa= n style=3D"font-size:14px"><br></span></font></div><div><font color=3D"#222= 222" face=3D"Roboto-Regular, HelveticaNeue, Arial, sans-serif"><span style= =3D"font-size:14px"><br></span></font><br>On Wednesday, August 2, 2017, Mat= thias Bussonnier <<a href=3D"mailto:[email protected]">busson= [email protected]</a>> wrote:<br><blockquote class=3D"gmail_quote" = style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi = all,<br> <br> As you may or may not be aware, with Python 3.6 the dictionary are<br> ordered by default. It is technically an implementation detail, though<br> some people would love for it not to.<br> <br> Regardless, IPython has for a long time pretty-printed the dictionary<br> with _sorted_ keys, this thus prevent to teach python and show that<br> dictionaries maintain order. Thus there is the question of wether we<br> should disable sorting keys while pretty-printing.<br> <br> <a href=3D"https://github.com/ipython/ipython/issues/10110" target=3D"_blan= k">https://github.com/ipython/<wbr>ipython/issues/10110</a><br> <br> This seem like a minor change, but I'd like to know if some of you are<= br> _relying_ on the ordering of dict when they are printed, or have<br> compelling arguments against (or for) removing sorting of the keys<br> before pretty_printing.<br> <br> If you care about the above subject, please have your voice heard in<br> above issue.<br> <br> Thanks,<br> --<br> Matthias<br> ______________________________<wbr>_________________<br> IPython-dev mailing list<br> <a href=3D"javascript:;" onclick=3D"_e(event, 'cvml', 'IPython-= [email protected]')">[email protected]</a><br> <a href=3D"https://mail.python.org/mailman/listinfo/ipython-dev" target=3D"= _blank">https://mail.python.org/<wbr>mailman/listinfo/ipython-dev</a><br> </blockquote></div> --94eb2c1956aa1d75930555cbf707-- --===============4026831685553916023== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ IPython-dev mailing list [email protected] https://mail.python.org/mailman/listinfo/ipython-dev --===============4026831685553916023==--