如果有多个条件python

时间:2018-08-16 14:23:12

标签: python if-statement any

我有两个列表: 具有多个字符串的list1和list 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 (items in allbox[i].text for items in list1) 
   and (items1 in allbox[i].text for items1 in list2):
   doSomething()

1 个答案:

答案 0 :(得分:2)

any不“属于” if-它不是特殊的语法,而是常规函数:

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

当且仅当至少一个列表元素可以被视为“ 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):