> > This moves the for-loop out of slow Python into fast C and should be much, > much faster for very large input. >
_Should_ be faster. Here is my test on an XP system Python 2.5.4. I had similar results on python 2.7 trunk. WORD = 'g' * 100 WORD2 = 'g' * 50 + 'U' BIGWORD = 'g' * 10000 + 'U' def any_test(word): return any(vowel in word for vowel in 'aeiouAEIOU') def for_test(word): for vowel in 'aeiouAEIOU': if vowel in word: return True else: return False **no vowels** any: [0.36063678618957751, 0.36116506191682773, 0.36212355395824081] for: [0.24044885376801672, 0.2417684017413404, 0.24084797257163482] **vowel 'U' final char** any: [0.38218764069443112, 0.38431925474244588, 0.38238668882188831] for: [0.16398578356553717, 0.16433223810347286, 0.16593555537176385] **BIG word vowel 'U' final char** any: [8.0007259193539895, 7.9797344140269644, 7.8901742633514012] for: [7.6664422372764101, 7.6784683633957584, 7.6683055766498001] Cheers, -- http://mail.python.org/mailman/listinfo/python-list