确定字符串是否包含单词

时间:2013-03-13 00:37:52

标签: python if-statement

在Python中,给定以下上下文的语句的语法是什么:

words = 'blue yellow'

将是一个if语句,用于检查words是否包含单词“blue”?即,

if words ??? 'blue':
    print 'yes'
elif words ??? 'blue':
    print 'no'

在英语中,“如果单词包含蓝色,则说”是“。否则,请打印否。”

4 个答案:

答案 0 :(得分:7)

words = 'blue yellow'

if 'blue' in words:
    print 'yes'
else:
    print 'no'

修改

我刚刚意识到nightly blues会包含blue,但不是一整个字。如果这不是您想要的,请拆分wordlist:

if 'blue' in words.split():
    …

答案 1 :(得分:5)

您还可以使用regex

\bblue\b只有在找到确切的字True时才会返回'blue',否则会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]: False

答案 2 :(得分:3)

您可以使用in或进行明确检查:

if 'blue ' in words:
    print 'yes'

if words.startswith('blue '):
    print 'yes'

编辑: 只有当句子不以'blue'结尾时,这2才会起作用。 要检查这一点,您可以执行以前的建议之一

if 'blue' in words.split():
    print 'yes'

答案 3 :(得分:1)

最简单的方法可能如下:

words = set('blue yellow'.split())
if 'blue' in words:
    print 'yes'
else:
    print 'no'

如果您的单词列表非常庞大,那么通过将words.split()包装在set中可以提高速度,因为测试集成员资格比测试列表成员资格更具计算效率。