たとえば、同じ長さのブール値のリストがn個ある場合、要素ごとのブール値ANDは、すべての入力リストがTrueで、それ以外の場所ではFalseである位置にTrueを持つ、その長さの別のリストを返す必要があります。
書くのはとても簡単です。(標準化/読みやすさのために)ビルトインが存在する場合はそれを使用したいと思います。
要素ごとのANDの実装は次のとおりです。
def eAnd(*args):
return [all(Tuple) for Tuple in Zip(*args)]
使用例:
>>> eAnd([True, False, True, False, True], [True, True, False, False, True], [True, True, False, False, True])
[True, False, False, False, True]
これを行うための組み込みの方法はありません。一般的に、リスト内包表記などは、Pythonで要素ごとの操作を行う方法です。
Numpyは、配列型でこれを提供します(技術的な制限のために&
を使用)。 Numpy配列は通常、要素ごとに操作を実行します。
試してください:
[ x&y for (x,y) in Zip(list_a, list_b)]
numpy.all
関数は、折りたたむディメンションを指定した場合、必要な処理を実行します。
>>> all([[True, False, True, False, True], [True, True, False, False, True], [True, True, False, False, True]], 0)
array([ True, False, False, False, True], dtype=bool)
いいえ、そのような組み込みはありません。 Zip
とall
/any
を使用するメソッドが私が使用するものです。
いいえ、標準ライブラリにそのような関数があるとは思いません...特に、提供されている関数の観点から非常に簡単に記述できる場合はそうです。