On 16/01/2022 14:23, Marco Sulla wrote:
I think it could also be cool to create a literal frozenset this way:

a = fs{1, 2, 3}

or, why not, a frozenset comprehension:

a = fs{i+1 for i in range(3)}

Maybe too much?
+0.5
It would be nice for consistency (and perhaps performance).  But you can already say
a = frozenset({i+1 for i in range(3)})
which is not too bad.

On Sun, 16 Jan 2022 at 14:14, Rob Cliffe via Python-ideas <python-ideas@python.org> wrote:

    How about
         fs{1, 2, 3}
    ?
    Best wishes
    Rob Cliffe

    On 16/01/2022 12:41, Chris Angelico wrote:
    > On Sun, Jan 16, 2022 at 11:18 PM Steven D'Aprano
    <st...@pearwood.info> wrote:
    >> On Sun, Jan 16, 2022 at 09:18:40PM +1100, Chris Angelico wrote:
    >>
    >>> While it's tempting, it does create an awkward distinction.
    >>>
    >>> f(1, 2, 3) # look up f, call it with parameters
    >>> f[1, 2, 3] # look up f, subscript it with paramters
    >>> f{1, 2, 3} # construct a frozenset
    >> You forgot
    >>
    >>      f"1, 2, {x+1}"  # eval some code and construct a string
    >>
    >> Not to mention:
    >>
    >>      r(1, 2, 3)  # look up r, call it with parameters
    >>      r[1, 2, 3]  # look up r, subscript it
    >>      r"1, 2, 3"  # a string literal
    > Strings behave differently in many many ways. Are there any
    non-string
    > types that differ?
    >
    >> Reading this makes my eyes bleed:
    >>
    >>      >>> <1, 2, 3> < <1, 2, 3, 4>
    >>      True
    > Fair point, but I can't imagine people comparing two literals like
    > that. It's not quite as bad if you replace the left side with a
    > variable or calculation, though it's still kinda weird.
    >
    >>> Unfortunately there aren't many symbols available, and
    Python's kinda
    >>> locked into a habit of using just one at each end (rather
    than, say,
    >>> (<1, 2, 3>) or something), so choices are quite limited.
    >> Triple quoted strings say hello :-)
    > See above, strings are different, and people treat them differently.
    >
    >> {{1, 2, 3}} would work, since that's currently a runtime error.
    But I
    >> prefer the f{} syntax.
    >>
    > Yeah, I think that ship has sailed. Double punctuation just isn't
    > Python's thing, so there aren't really any good ways to shoehorn
    more
    > data types into fewer symbols.
    >
    > ChrisA
    > _______________________________________________
    > Python-ideas mailing list -- python-ideas@python.org
    > To unsubscribe send an email to python-ideas-le...@python.org
    > https://mail.python.org/mailman3/lists/python-ideas.python.org/
    > Message archived at
    
https://mail.python.org/archives/list/python-ideas@python.org/message/PMK36CYTHNNJEEDBPEO5T3RN6PCZZVZO/
    > Code of Conduct: http://python.org/psf/codeofconduct/

    _______________________________________________
    Python-ideas mailing list -- python-ideas@python.org
    To unsubscribe send an email to python-ideas-le...@python.org
    https://mail.python.org/mailman3/lists/python-ideas.python.org/
    Message archived at
    
https://mail.python.org/archives/list/python-ideas@python.org/message/SWDTEHB5PEHBR45UL6AHXY2DKYEBVJ26/
    Code of Conduct: http://python.org/psf/codeofconduct/

_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/2ZBVGPQJBDWIOEUJO55BEZB25DQYWM3K/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to