我有一个单词列表:
words = ["gentleman","woman","boy","girl"]
我正在尝试检查此列表中是否发生完整或部分字符串匹配。例如,如果我有字符串
x = "gentleman"
然后我会轻易找到
if x in words
但我如何检查部分匹配?例如,如果我有
x = "man"
我希望匹配" man"作为"绅士"的一部分。有没有办法检查完整匹配和部分匹配?
由于
答案 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