Перебор списка для поиска подстроки в операторе if - PullRequest
0 голосов
/ 15 марта 2020

У меня есть список строк:

relations = ['displays', '1000displays', 'chooses', '1011chooses', '1020displays', 'clicks', '1031clicks', 'add to', 'checks', '1040checks', 'inserts discount offer to', '1050inserts discount offer to', 'inserts']

И подстрока:

t_object = 'discount offer'

И я хочу выполнить код в блоке if, только если строка discount offer отсутствует в списке relations.

У меня есть следующий код, но так как discount offer присутствует в relations, он не должен входить в блок кода в операторе if, но это так. Почему?

if len(t_object) > len(objects[sentence_number]) and (s for s in relations if t_object not in s):
     print('I am in but I shoudlt be.')

1 Ответ

2 голосов
/ 15 марта 2020

Используйте функцию any().

if len(t_object) > len(objects[sentence_number]) and not any(t_object in s for s in relations):
...