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

Donovan Baarda abo at minkirri.apana.org.au
Mon Feb 6 15:09:18 CET 2006


On Fri, 2006-02-03 at 11:56 -0800, Josiah Carlson wrote:

Donovan Baarda <abo at minkirri.apana.org.au> wrote: [...] > Nuff was a fairy... though I guess it depends on where you draw the > line; should [1,2,3] be list(1,2,3)?

Who is "Nuff"?

fairynuff... :-)

Along the lines of "not every x line function should be a builtin", "not every builtin should have syntax". I think that sets have particular uses, but I don't believe those uses are sufficiently varied enough to warrant the creation of a syntax. I suggest that people take a walk through their code. How often do you use other sequence and/or mapping types? How many lists, tuples and dicts are there? How many sets? Ok, now how many set literals?

The absence of sets in early Python, the requirement to "import sets" when they first appeared, and the lack of a set syntax now all mean that people tend to avoid using sets and resort to lists, tuples, and "dicts of None" instead, even though they really want a set. Anywhere you see "if value in sequence:", they probably mean sequence is a set, and this code would run much faster if it really was, and might even avoid potential bugs because it would prevent duplicates...

-- Donovan Baarda <abo at minkirri.apana.org.au> http://minkirri.apana.org.au/~abo/



More information about the Python-Dev mailing list