Как найти слова, которые присутствуют во всех входных строках с Python?

Есть ли в Python сравнение двух разных строк текста, чтобы увидеть, совпадают ли два или более слов?

Большое спасибо

2 ответа

Вы можете использовать множества и вычислить пересечение:

>>> a = "one two three"
>>> b = "one three four"
>>> set(a.split()) & set(b.split())
set(['three', 'one'])
>>> 

Вы можете разделить каждую строку, чтобы получить список слов, которые присутствуют. Затем сравните списки, чтобы проверить общие слова.

def get_common_words_count(str1, str2):
    list1 = str1.split()
    list2 = str2.split()
    c = 0
    for word in list1:
        try:
            list2.index(word)
            c += 1
        except ValueError:
            pass
    return c

print get_common_words_count('this is the first', 'and this is the second')
Другие вопросы по тегам