Python 如何检查字符串中的整个单词是否包含在其他字符串中?

Python 如何检查字符串中的整个单词是否包含在其他字符串中?,python,string,substring,Python,String,Substring,如果字符串中的一个单词与另一个字符串中的一个单词相同,我希望我的程序返回True,但仅当整个单词匹配,而不是单个字母或部分。这里有一个关于我的意思的例子 a = "hi please help" b = "help anyone" if any(a.split()) == any(b.split()): print("True") 这暂时有效,但如果我用a换其他东西 a = "h" b = "h

如果字符串中的一个单词与另一个字符串中的一个单词相同,我希望我的程序返回True,但仅当整个单词匹配,而不是单个字母或部分。这里有一个关于我的意思的例子

a = "hi please help"
b = "help anyone"

if any(a.split()) == any(b.split()):
    print("True")
这暂时有效,但如果我用a换其他东西

a = "h"
b = "help"

if any(a.split()) == any(b.split()):
    print("True")
它仍然打印“真”,这不是我的本意。 我确实查看了其他类似的线程,但我找不到任何解决部分不被接受的问题的方法,但整个字符串不必是子字符串。

尝试以下方法:

set_a = set(a.split())
any(w in set_a for w in b.split())
如果
b.split()
中的任何单词
w
位于
set\u a
中,则这将计算为
True
,其中
set\u a
是由
a.split()构成的一组单词

这应该比执行集合交集更快,因为(1)它只为其中一个拆分字符串创建集合,(2)它在找到匹配项后立即停止搜索,以及(3)它不为交集结果创建集合。

尝试以下操作:

for i in b.split():
  if a.split().count(i):
    print("True")

将两个字符串转换为集合并创建交点:

if set(a.split()) & set(b.split()):
    print("True")

这应该是可行的:
any([e in a.split(),e in b.split()])
a.split().count(i)
i in a.split()
更贵,而且做
a.split()
每一圈也很贵。您的提案也可以打印多次