Pythonic way to determine if one char of many in a string
gagsl-py2 at yahoo.com.ar
Sat Feb 21 09:47:33 CET 2009
En Sat, 21 Feb 2009 01:14:02 -0200, odeits <odeits at gmail.com> escribió:
> On Feb 15, 11:31 pm, odeits <ode... at gmail.com> 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
> 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
> 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 =
And (if vowels are really constant) you could pre-build the vowels set.
More information about the Python-list