遍历列表以在if语句中查找子字符串

时间:2020-03-15 20:03:25

标签: python for-loop if-statement substring

我有一个字符串列表:

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'

并且我只想在discount offer列表中没有字符串relations的情况下在if块中执行代码。

我有以下代码,但是由于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 个答案:

答案 0 :(得分:2)

使用any()函数。

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