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

如果字符串中的一个单词与另一个字符串中的单词相同,但仅当整个单词匹配而不是单个字母或部分匹配时,我希望我的程序返回 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")

它仍然打印“True”,这不是我的意图。我确实查看了与此类似的其他线程,但我找不到任何解决部分不被接受的问题的方法,但整个字符串不必是子字符串。


红颜莎娜
浏览 100回答 3
3回答

阿晨1998

尝试这个:set_a = set(a.split()) any(w in set_a for w in b.split())这将评估True是否有任何单词wfromb.split()位于 中set_a,其中set_a是由 组成的一组单词a.split()。这应该比执行集合交集更快,因为 (1) 它只为其中一个分割字符串创建一个集合,(2) 一旦找到匹配项,它就会停止搜索,并且 (3) 它不会创建集合为交集结果。

繁星点点滴滴

将两个字符串转换为集合并创建交集:if set(a.split()) & set(b.split()):     print("True")

慕田峪4524236

尝试这个 :for i in b.split():  if a.split().count(i):    print("True")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python