如果任何多个条件 python

if any multiple condition python

我有两个列表: 具有多个字符串的列表 1 和列表 2

list1 = ('building1', 'building2')

list2 = ('07:00', '07:15', '07:30', '7:45', '8:00')

allbox[i].text = ('justastring with building1 and blah blah blah 8:00')

我需要测试这个条件:(只有两个条件都满足时如何进行?)我认为下面是正确的,但事实并非如此。

目前,如果满足一个条件,则执行 doSomething()。我只想在满足两个条件时才执行 doSomething()。

"if any"是否涉及两个条件?

if any (items in allbox[i].text for items in list1) 
   and (items1 in allbox[i].text for items1 in list2):
   doSomething()

any 不是 "belong to" if - 它不是特殊语法,而是常规函数:

>>> any([True, False])
True
>>> any([False, False])
False

它returns True 当且仅当至少一个列表元素可以被考虑 "true".

您的第二个列表将是非空的,非空列表被视为 "true"。

因为any是一个函数,你也可以把它应用到第二个列表:

if     any(items in allbox[i].text for items in list1) 
   and any(items1 in allbox[i].text for items1 in list2):