[Python-Dev] syntactic support for sets (original) (raw)

Alex Martelli aleaxit at gmail.com
Mon Feb 6 19:37:42 CET 2006


On 2/6/06, Guido van Rossum <guido at python.org> wrote:

On 2/6/06, Donovan Baarda <abo at minkirri.apana.org.au> wrote: > yeah... the problem is differentiating the empty set from an empty dict. > The only alternative that occured to me was the not-so-nice and > not-backwards-compatible "{:}" for an empty dict and "{}" for an empty > set.

How about spelling the empty set as ``set()''? Wouldn't that solve the ambiguity and the backwards compatibility nicely?

And of course, thanks to the time machine, it has always worked that way:

hesperos:~$ python2.4 Python 2.4.1 (#1, Apr 21 2005, 11:14:17) [GCC 3.2.2 20030222 (Red Hat Linux 3.2.2-5)] on linux2 Type "help", "copyright", "credits" or "license" for more information.

set() set([])

just like dict(), tuple(), list(), str(), int(), float(), bool(), complex() -- each type, called without args, returns an instance F of that type such that "bool(F) is False" holds (meaning len(F)==0 for container types, F==0 for number types).

Alex



More information about the Python-Dev mailing list