我有一个字符串列表:
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.')
答案 0 :(得分:2)
使用any()
函数。
if len(t_object) > len(objects[sentence_number]) and not any(t_object in s for s in relations):