Brian Harring wrote:
>Potentially a stupid question, but I've been following this thread for
>a while and I'm still not seeing the real gain of extending the syntax
>for frozen markers/set literals.
>
>Someone care to recap what actually is gained from having a set
>literal?
>~harring
>
>
Good question. To see the answer, look at a code tranformation from:
if file_ext.lower() in set(['html', 'xml', 'xhtml']):
handle(filename)
into:
if file_ext.lower() in {'html', 'xml', 'xhtml'}:
handle(filename)
The latter form builds a set directly and does not construct a temporary
intermediate list. Also, the latter form is potentially optimizable so
that the set is built at compile-time and referrenced as a constant
rather than being rebuilt from scratch everytime the code is executed.
In terms of user-friendliness, the latter form is closer to the way sets
are expressed in mathematics.
The only bump in the road is that the {} notation is so similar to
dictionaries that care must be taken to keep the two as distinct as
possible.
Raymond
_______________________________________________
Python-3000 mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe:
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com