Pythonic way to determine if one char of many in a string

python at bdurham.com python at bdurham.com
Mon Feb 16 00:17:37 EST 2009


I need to test strings to determine if one of a list of chars is
in the string. A simple example would be to test strings to
determine if they have a vowel (aeiouAEIOU) present.
I was hopeful that there was a built-in method that operated
similar to startswith where I could pass a tuple of chars to be
tested, but I could not find such a method.
Which of the following techniques is most Pythonic or are there
better ways to perform this type of match?
# long and hard coded but short circuits as soon as match found
if 'a' in word or 'e' in word or 'i' in word or 'u' in word or
... :
-OR-
# flexible, but no short circuit on first match
if [ char for char in word if char in 'aeiouAEIOU' ]:
-OR-
# flexible, but no short circuit on first match
if set( word ).intersection( 'aeiouAEIOU' ):
Thank you,
Malcolm
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20090216/96ddf2a6/attachment.html>


More information about the Python-list mailing list