[Python-Dev] Retrieve an arbitrary element from a set without removing it
Willi Richert
w.richert at gmx.net
Sat Oct 24 16:29:32 CEST 2009
Hi,
I agree. But, here are the pros/cons collected from the recent list repsonses:
Pro:
- more readable
- newbies will encounter one of the fastest solution (.get()) before trying
slower "first solutions" like (iter(set).next())
Cons:
- no name consensus. get() getany() arbitrary() ?
- BDFL moratorium, which I find very wise (get() is, however, no language
extension, but std lib extension, which Guido did not moratorize, didn't he?)
- other classes should then also be extended, like frozenset
Regards,
wr
PS: what is the correct verb form of moratorium?
Am Samstag, 24. Oktober 2009 00:49:38 schrieb Steven D'Aprano:
> On Sat, 24 Oct 2009 07:53:24 am Willi Richert wrote:
> > Hi,
> >
> > surprised about the performance of for/break provided by Vitor, I did
> > some more testing. It revealed that indeed we can forget the get()
> > (which was implemented as a stripped down pop()):
>
> I don't understand that conclusion. According to your tests, your
> implementation of get() is as fast as "for x in set: break", and it's
> certainly much, much more readable and straightforward.
>
More information about the Python-Dev
mailing list