[Python-3000] Set literal

Adam Olsen rhamph at gmail.com
Sun Jan 27 04:50:36 CET 2008

On Jan 24, 2008 9:12 PM, Guido van Rossum <guido at python.org> wrote:
> For the record, I'm thinking Raymond has won this argument fair and
> square, and I'm withdrawing my opposition.
> I hope it isn't too confusing that {1: 1} creates a *mutable* dict
> while {1} creates an *immutable* frozenset. I still find this slightly
> inelegant. But the practicality of being able to treat set literals as
> compile-time constants wins me over.
> (I suspect for a 2-element set of ints or strings, translating "x in
> {C1, C2}" into "x in (C1, C2)" might actually be a slight win since
> probing a tuple must be much faster than probing a set; but that's a
> detail.)

Given that "x in {1,2,3}" can be optimized just as well with mutable
sets (can somebody think of an example that can't?), do you still
support immutable using the literal notation?

Adam Olsen, aka Rhamphoryncus

More information about the Python-3000 mailing list