[Python-Dev] Retrieve an arbitrary element from a set without removing it
John Arbash Meinel
john.arbash.meinel at gmail.com
Fri Oct 23 22:11:57 CEST 2009
More information about the Python-Dev mailing list
Fri Oct 23 22:11:57 CEST 2009
- Previous message: [Python-Dev] Retrieve an arbitrary element from a set without removing it
- Next message: [Python-Dev] Retrieve an arbitrary element from a set without removing it
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Terry Reedy wrote: > John Arbash Meinel wrote: >> So 'for x in s: break' is about 2x faster than next(iter(s)) and 3x >> faster than (iter(s).next()). >> I was pretty surprised that it was 30% faster than "for x in s: pass". I >> assume it has something to do with a potential "else:" statement? > > for x in s: pass > > iterates through *all* the elements in s and leaves x bound to the > arbritrary *last* one instead of the arbitrary *first* one. For a large > set, this would be a lot slower, not just a little. > > fwiw, I think the use case for this is sufficiently rare that it does > not need a separate method just for this purpose. > > tjr The point of my test was that it was a set with a *single* item, and 'break' was 30% faster than 'pass'. Which was surprising. Certainly the difference is huge if there are 10k items in the set. John =:->
- Previous message: [Python-Dev] Retrieve an arbitrary element from a set without removing it
- Next message: [Python-Dev] Retrieve an arbitrary element from a set without removing it
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list