if( ! $remote_db->check_connection(false) ){
exit;
}
如果所有match1,match2,match3存在且在list1中匹配,则返回true。 list1中有白色字符串
list1 = [' I am Sam', 'It is 1,2,3 ', ' It is hot right now' ]
match1 = 'I am'
match2 = 'is 1,2'
match3 = 'hot right now'
如果完全匹配,我可以返回,但是即使部分匹配,在列表中进行匹配的最佳方式是什么?
答案 0 :(得分:1)
我不是100%肯定这是您想要做的,但我认为是:
list1 = [' I am Sam', 'It is 1,2,3 ', ' It is hot right now' ]
match1 = 'I am'
match2 = 'is 1,2'
match3 = 'hot right now'
def check(the_list, *match):
return all(any(w in p for p in the_list) for w in match)))
print(check(list1, match1, match2, match3))
您需要部分匹配,因此字符串不必相等,但是match必须是列表的子字符串。
答案 1 :(得分:1)
a in a_string
是True
的子字符串,则 a
返回a_string
。因此,您只需要解决列表理解问题,这将需要更复杂一些。
list1 = [' I am Sam', 'It is 1,2,3 ', ' It is hot right now' ]
match1 = 'I am'
match2 = 'is 1,2'
match3 = 'hot right now'
def check(the_list, *match):
return all(any(a in listel for listel in the_list) for a in match)
print(check(list1, match1, match2, match3))
如果所有匹配项都是True
中至少一个字符串的子字符串,它将打印the_list
。顺序并不重要,也不需要一对一的对应关系。我的意思是,如果所有match
是同一个元素的子字符串,它仍然返回True
。例如,如果您使用match1 = 'I am'
,match2 = 'am'
,match3 = ' I'
,它仍然会返回True
。