有时我有一个列表列表,我需要在所有列表中搜索一个项目。我使用以下python代码:
boolean found = false
for(hayStack : listOfHayStacks){
found = findNeedle(hayStack)
if(found)
break;
}
if(!found){
// error case
}
我似乎经常遇到这种情况,并且我总是觉得应该有一个更好的方法来处理这种情况。
是否存在一个“atLeastOne”构造来汇总所有结果?
最佳答案
Python为此具有特殊的语法。
for haystack in haystacks:
if find_needle(haystack):
break
else:
# error case (did not break)
根据代码中需要多少逻辑,您还可以执行以下操作:
some_needles_exist = any(find_needle(x) for x in haystacks)
all_stacks_have_needles = all(find_needle(x) for x in haystacks)