[Python-ideas] Empty set, Empty dict

Wichert Akkerman wichert at wiggy.net
Tue Jun 10 11:07:42 CEST 2014


Victor Stinner wrote:
2014-06-10 8:15 GMT+02:00 Neil Girdhar <mistersheik at gmail.com>:
> > I've seen this proposed before, and I personally would love this, but my
> > guess is that it breaks too much code for too little gain.
> >
> > On Wednesday, May 21, 2014 12:33:30 PM UTC-4, Frédéric Legembre wrote:
> >>
> >>
> >>    Now   |  Future  |
> >> ----------------------------------------------------
> >>    ()    |   ()     |  empty tuple  ( 1, 2, 3 )
> >>    []    |   []     |  empty list   [ 1, 2, 3 ]
> >>    set() |   {}     |  empty set    { 1, 2, 3 }
> >>    {}    |   {:}    |  empty dict   { 1:a, 2:b, 3:c }
> 
> 
> Your guess is right. It will break all Python 2 and Python 3 in the world.
> 
> Technically, set((1, 2)) is different than {1, 2}: the first creates a
> tuple and loads the global name "set" (which can be replaced at
> runtime!), whereas the later uses bytecode and only store values
> (numbers 1 and 2).
> 
> It would be nice to have a syntax for empty set, but {} is a no-no.

Perhaps {,} would be a possible spelling. For consistency you might want to allow (,) to create an empty tuple as well; personally I would find that more intuitive that (()).
Wichert.
 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20140610/1039f6b2/attachment.html>


More information about the Python-ideas mailing list