Поиск по конкретному слову в списке, а не по части слова

Рейтинг: 0Ответов: 1Опубликовано: 14.03.2023

У меня есть список с артистами, и мне нужно иногда проверять есть ли артист в этом списке. Но вот проблема, иногда по ошибке он выдает неверный ответ (Пишет что есть артист, хотя его нет), из-за того что часть ника артиста есть в нике другого артиста:

whitelist = open('list.txt', 'r', encoding='utf-8')
whitelist = whitelist.read()

if 'SPA' in whitelist:
    print('True')
else:
    print('False')

В списке есть артист "VSPAK" из-за чего пишет "True", хотя самого "SPA" нет. Как то можно сделать так чтобы он искал именно слово, а не его часть?

Ответы

▲ 0

Попробуй регулярные выражения:

import re

whitelist = open('list.txt', 'r', encoding='utf-8')
whitelist = whitelist.read()

pattern = "SKA"

if re.findall(r"\b"+pattern+r"\b", whitelist ):
    print('True')
else:
    print('False')

\b означает границу слова.