在列表python中查找字符串

时间:2014-10-26 17:06:48

标签: python string text

我有一个单词列表:

words = ["gentleman","woman","boy","girl"]

我正在尝试检查此列表中是否发生完整或部分字符串匹配。例如,如果我有字符串

x = "gentleman"

然后我会轻易找到

if x in words

但我如何检查部分匹配?例如,如果我有

x = "man"

我希望匹配" man"作为"绅士"的一部分。有没有办法检查完整匹配和部分匹配?

由于

1 个答案:

答案 0 :(得分:4)

可以通过以下方式轻松完成:

if any(x in s for s in words):

演示(这适用于两种情况):

>>> words = ["gentleman", "woman", "boy", "girl"]
>>> x = "gentleman"
>>> any(x in s for s in words)
True
>>> x = "man"
>>> any(x in s for s in words)
True

我在这里做的是迭代words并检查搜索字符串是否在任何一个内。


编辑:要使其拒绝单字母子字符串,只需进行预检:

if len(x) > 1:
    search = any(x in s for s in words)
else:
    search = False