Determining If A String Contains A Word
In Python, what is the syntax for a statement that, given the following context: words = 'blue yellow' would be an if statement that checks to see if words contains the word 'blue
Solution 1:
words = 'blue yellow'if'blue'in words:
print'yes'else:
print'no'Edit
I just realized that nightly blues would contain blue, but not as a whole word. If this is not what you want, split the wordlist:
if'blue' in words.split():
…
Solution 2:
You can use in or do explicit checks:
if'blue 'in words:
print'yes'or
if words.startswith('blue '):
print'yes'Edit: Those 2 will only work if the sentence doesnt end with 'blue'. To check for that, you can do what one of the previous answers suggested
if'blue' in words.split():
print'yes'Solution 3:
You can also use regex:
\bblue\b will return True only if it can find the exact word 'blue', otherwise False.
In [24]: import re
In [25]: strs='blue yellow'
In [26]: bool(re.search(r'\bblue\b',strs))
Out[26]: True
In [27]: strs="nightly blues"
In [28]: bool(re.search(r'\bblue\b',strs))
Out[28]: FalseSolution 4:
The easiest way to do this is probably the following:
words = set('blue yellow'.split())
if'blue'in words:
print'yes'else:
print'no'If your words list is really huge, you'll get a speed increase by wrapping words.split() in set as testing set membership is more computationally efficient than testing list membership.
Post a Comment for "Determining If A String Contains A Word"