检查两个字符串是否有相同的单词| Python

检查两个字符串是否有相同的单词| Python,python,Python,我试图找出两个字符串是否有相同的单词集例如,如果我们有两个这样的字符串 a = "Linear Regression is a algorithm in ML" b = "Linear Regression is a supervised learning algo" 我希望我的算法能够找到相同的词集,因此我希望它能够输出“线性回归”,因为它同时出现在两个字符串中 我试过这个: a = "Linear Regression is a algor

我试图找出两个字符串是否有相同的单词集例如,如果我们有两个这样的字符串

a = "Linear Regression is a algorithm in ML"
b = "Linear Regression is a supervised learning algo"
我希望我的算法能够找到相同的词集,因此我希望它能够输出“线性回归”,因为它同时出现在两个字符串中

我试过这个:

a = "Linear Regression is a algorithm in ML"
b = "Linear Regression in a supervised learning algo"

if a in b:
    print(True)

else:
    print(False)
它正在返回
False

这就是为什么我想要一个算法,它可以做得既高效又快速


谢谢

您可以使用
str.split
尝试此
列表
理解:

print([i for i in a.split() if i in b.split()])
输出:

['Linear', 'Regression', 'is', 'a']

你想要最长的公共前缀?如果你想要单词,为什么它不应该拆分线性和回归?为什么你不期望结果中出现“是a”?这就是最长的公共子字符串问题,在这个问题中有描述:谢谢@JurajBublinec它解决了我的问题