在 Python 中,给定以下上下文的语句的语法是什么:
words = 'blue yellow'
将是一个 if 语句,用于检查是否words
包含单词“blue”?IE,
if words ??? 'blue':
print 'yes'
elif words ??? 'blue':
print 'no'
在英语中,“如果单词包含蓝色,则说是。否则,打印否。”
在 Python 中,给定以下上下文的语句的语法是什么:
words = 'blue yellow'
将是一个 if 语句,用于检查是否words
包含单词“blue”?IE,
if words ??? 'blue':
print 'yes'
elif words ??? 'blue':
print 'no'
在英语中,“如果单词包含蓝色,则说是。否则,打印否。”
words = 'blue yellow'
if 'blue' in words:
print 'yes'
else:
print 'no'
我刚刚意识到这nightly blues
将包含blue
,但不是一个完整的词。如果这不是您想要的,请拆分单词表:
if 'blue' in words.split():
…
您可以使用in
或执行显式检查:
if 'blue ' in words:
print 'yes'
或者
if words.startswith('blue '):
print 'yes'
编辑:只有当句子不以“蓝色”结尾时,这两个才有效。要检查这一点,您可以执行先前答案之一的建议
if 'blue' in words.split():
print 'yes'
您还可以使用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
最简单的方法可能如下:
words = set('blue yellow'.split())
if 'blue' in words:
print 'yes'
else:
print 'no'
如果你的单词列表真的很大,你会通过包裹words.split()
来提高速度,set
因为测试集成员比测试列表成员在计算上更有效。