3

リストのリストがあり、すべてのリストから 1 つの項目を検索する必要がある場合があります。私はこのpythonコードを使用します:

boolean found = false

for(hayStack : listOfHayStacks){
   found = findNeedle(hayStack)

   if(found)
      break;
}

if(!found){
    // error case
}

私はこの種のケースに頻繁に遭遇するようで、これを処理するためのより良い方法があるべきだと常に感じていました.

すべての結果を合計する「atLeastOne」構造はありますか?

4

3 に答える 3

0

干し草の山で針を見つけたり見つけなかったりするときに行うアクションにもっと集中する場合は、次のようなことができます。

>>> criteria = lambda n: n == 3
>>> def found(needle):
    if criteria(needle):
        print("Doing something as found")
        return True
    else: return False


>>> def missed():
    print("Doing missed action")
    return False

>>> wasfound = any(found(i) for i in range(2)) or missed()
Doing missed action
>>> wasfound
False
>>> wasfound = any(found(i) for i in range(4)) or missed()
Doing something as found
>>> wasfound
True
>>> 
于 2013-04-23T03:27:09.377 に答える