Как проверить, есть ли в списке определённое число?

Нужно проверить есть ли число 2 в списке: "3, 4, 21, 22, 23"
Пробовал:

async def check1():
    list1 = "3, 4, 21, 22, 23"
    check = "2"
    if list1.find(check) != -1:
        print("число 2 найдено!")
    else:
        print("2 не найдено")

Однако получаю в ответ "число 2 найдено"

Подскажите пожалуйста, что с этим можно сделать?


Ответы (1 шт):

Автор решения: CrazyElf

Например, с помощью регулярных выражений:

import re

async def check1():
    list1 = "3, 4, 21, 22, 23"
    check = "2"
    rx = re.compile('\d+')         # <- добавлено
    if check in rx.findall(list1): # <- изменено
        print("число 2 найдено!")
    else:
        print("2 не найдено")

Здесь я ищу все числа в строке с помощью шаблона \d+ и проверяю, что среди этих чисел есть искомое.

→ Ссылка