确定字符串是否包含单词[重复]

问题描述 投票:0回答:4

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

words = 'blue yellow'

将是一个 if 语句,用于检查

words
是否包含单词“blue”?即,

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

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

python if-statement
4个回答
30
投票
words = 'blue yellow'

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

此外,

nightly blues
将包含
blue
,但不是整个单词。如果这不是您想要的,请拆分单词列表:

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

6
投票

您可以使用

in
或进行显式检查:

if 'blue ' in words:
    print 'yes'

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

编辑: 仅当句子不以“blue”结尾时,这两个才有效。 要检查这一点,您可以按照之前的答案之一的建议进行操作

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

6
投票

您还可以使用

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
投票

最简单的方法可能如下:

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

如果您的单词列表确实很大,则可以通过将

words.split()
包装在
set
中来提高速度,因为测试集成员资格比测试列表成员资格在计算上更高效。

© www.soinside.com 2019 - 2024. All rights reserved.