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
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com