[Python-ideas] Empty set, Empty dict
Clint Hepner
clint.hepner at gmail.com
Sun Jun 22 14:29:07 CEST 2014
There's one more, even more obvious (IMO) option for an empty set literal: U+2205, EMPTY SET. But that opens a whole other can of worms, namely expanding the grammar to allow Unicode characters outside of identifiers.
> On Jun 22, 2014, at 5:25 AM, "Philipp A." <flying-sheep at web.de> wrote:
>
> of course it’s ugly, but it’s also obvious that it had to be suggested, because it’s the only obvious idea.
>
> which leaves us with either a non-obvious idea or no empty set literal, which is a bit sad and inconsistent.
>
> if i’d develop a language from scratch, i’d possibly use the following empty literals:
>
> [] = list; () = tuple, {} = set
> [:] = ordered dict, (:) = named tuple, {:} = dict
>
> but that ship has sailed.
>
>
> 2014-06-10 18:39 GMT+02:00 Guido van Rossum <guido at python.org>:
>> No. Jeez. :-(
>>
>>
>>> On Tue, Jun 10, 2014 at 9:25 AM, Ryan Gonzalez <rymg19 at gmail.com> wrote:
>>> +1 for using {,}.
>>>
>>>
>>>> On Tue, Jun 10, 2014 at 4:07 AM, Wichert Akkerman <wichert at wiggy.net> wrote:
>>>> 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.
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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/
>>>
>>>
>>>
>>> --
>>> Ryan
>>> If anybody ever asks me why I prefer C++ to C, my answer will be simple: "It's becauseslejfp23(@#Q*(E*EIdc-SEGFAULT. Wait, I don't think that was nul-terminated."
>>>
>>>
>>> _______________________________________________
>>> 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 van Rossum (python.org/~guido)
>>
>> _______________________________________________
>> 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/
>
> _______________________________________________
> 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/20140622/ecba7391/attachment.html>
More information about the Python-ideas
mailing list