En Sat, 21 Feb 2009 01:14:02 -0200, odeits <[email protected]> escribió:
On Feb 15, 11:31 pm, odeits <[email protected]> wrote:
It seems what you are actually testing for is if the intersection of the two sets is not empty where the first set is the characters in your word and the second set is the characters in your defined string.To expand on what I was saying I thought i should provide a code snippet: WORD = 'g' * 100 WORD2 = 'g' * 50 + 'U' VOWELS = 'aeiouAEIOU' BIGWORD = 'g' * 10000 + 'U' def set_test(vowels, word): vowels = set( iter(vowels)) letters = set( iter(word) ) if letters & vowels: return True else: return False with python 2.5 I got 1.30 usec/pass against the BIGWORD
You could make it slightly faster by removing the iter() call: letters = set(word)
And (if vowels are really constant) you could pre-build the vowels set. -- Gabriel Genellina -- http://mail.python.org/mailman/listinfo/python-list
