# very Very VERY dumb Question About The new Set( ) 's

Discussion in 'Python' started by Raymond Arthur St. Marie II of III, Jul 23, 2003.

1. ### Raymond Arthur St. Marie II of IIIGuest

very Very VERY dumb ? about the new Set( ) 's

Please be kind and read this like you know I've been up 33-34 hours reading
PEP's but...

Doc\ref 2.6 Delimiters show's three unused characters "@ $?". @ sort of looks like and sort of sounds like a set an$ well sort of obvious.
I can imagine that the $would be confused for money and @ is ugly. You folks have prob'ly been all over this. Even thou I've been using Python since 1.4, I only joined the comp.lang.python a couple weeks ago so I don't know the flame wars over the Set implimentation. Ray St. Marie --- Afraid to sign his name to this one Raymond Arthur St. Marie II of III, Jul 23, 2003 1. ### Advertising 2. ### Alan GauldGuest On 23 Jul 2003 18:47:32 GMT, orespam (Raymond Arthur St. Marie II of III ) wrote: > Doc\ref 2.6 Delimiters show's three unused characters "@$ ?".
> @ sort of looks like and sort of sounds like a set an
> $well sort of obvious. > I can imagine that the$ would be confused for money and @ is ugly.

Since I detest any thought of prefix symbols to indicate type(as
per Perl etc) but have no visibility of these debates, I'll throw
in my suggestion and done a flameproof suit!

Since both dictionaries and Sets require unique members/keys,
why not use the dictionary braces but without the key/value
syntax. So:

mySet = {1,2,3,4}

Which is illegal for a dictionary but would be OK for a Set.
It also just happens to be the same delimiters used in math
for sets...

Just a thought before I go to bed!

Alan G.
Author of the Learn to Program website
http://www.freenetpages.co.uk/hp/alan.gauld
Alan Gauld, Jul 24, 2003

3. ### Carl BanksGuest

Alan Gauld wrote:
> On 23 Jul 2003 18:47:32 GMT, orespam (Raymond
> Arthur St. Marie II of III ) wrote:
>
>> Doc\ref 2.6 Delimiters show's three unused characters "@ $?". >> @ sort of looks like and sort of sounds like a set an >>$ well sort of obvious.
>> I can imagine that the $would be confused for money and @ is ugly. > > Since I detest any thought of prefix symbols to indicate type(as > per Perl etc) but have no visibility of these debates, I'll throw > in my suggestion and done a flameproof suit! > > Since both dictionaries and Sets require unique members/keys, > why not use the dictionary braces but without the key/value > syntax. So: > > mySet = {1,2,3,4} > > Which is illegal for a dictionary but would be OK for a Set. > It also just happens to be the same delimiters used in math > for sets... > > Just a thought before I go to bed! +1 if Python's parser could handle it (which seems dubious). -- CARL BANKS Carl Banks, Jul 25, 2003 4. ### Inyeol LeeGuest On Thu, Jul 24, 2003 at 10:31:11PM +0000, Alan Gauld wrote: [...] > Since both dictionaries and Sets require unique members/keys, > why not use the dictionary braces but without the key/value > syntax. So: > > mySet = {1,2,3,4} > > Which is illegal for a dictionary but would be OK for a Set. > It also just happens to be the same delimiters used in math > for sets... See PEP 218. It describes a long term plan to make set builtin type, including syntax for constant set {1,2,3,4} and empty set {-}. Inyeol Inyeol Lee, Jul 25, 2003 5. ### Raymond HettingerGuest > > Since both dictionaries and Sets require unique members/keys, > > why not use the dictionary braces but without the key/value > > syntax. So: > > > > mySet = {1,2,3,4} > > > > Which is illegal for a dictionary but would be OK for a Set. > > It also just happens to be the same delimiters used in math > > for sets... > > > +1 if Python's parser could handle it (which seems dubious). FWIW, I think the easiest and most readable syntax is: mySet = set(1, 2, 3, 4) BTW, this is a bit reminiscent of the discussion about a syntax for entering fixed decimals. After much discussion, someone realized the obvious and noted that real programs mostly take in their fixed point data from external sources and would rarely appear as a constant in a program; hence, there was no need for a special syntax -- just Decimal(data) would do the trick. (Think about a program like Quicken for checkbook accounting -- none of the check/deposit amounts are known in advance so the program is unlikely to contain any fixed decimal constants except zero and$0.01).

Raymond Hettinger
Raymond Hettinger, Jul 27, 2003