'and' (論理) と '&' (ビット単位): リストと Numpy 配列の処理のバリエーション
ブール演算を使用する場合、「and」と「&」の違いを理解することが重要です。 「and」は両方の式が論理 True 値を保持するかどうかを評価しますが、「&」は両方のオペランドが (論理値のコンテキストで) True であるかどうかを判断します。
リストの動作
- 例 1 では、最初のリストの少なくとも 1 つの要素が False であるため、「and」演算は False と評価されます。一方、両方のリストのいずれかの要素が True の場合、結果は True になります。したがって、['True', 'False', 'False'] および ['True', 'True', 'False'] は True を返します。
- 「&」演算子はリストと互換性がありません。異なるタイプの要素が含まれる場合があり、ビットごとに組み合わせることができません。
Numpy での動作配列
-
例 3: 複数の要素を持つ配列には明確な真理値が不足しており、'and' はそのような配列の論理演算を評価できないため、ValueError が発生します。論理条件を決定するには、numpy の「any()」または「all()」関数を使用します。
-
例 4: numpy 配列では、ベクトル化された演算がサポートされているため、「&」を使用できます。結果の配列には、入力配列の対応する要素のビット単位の AND である要素が含まれます。
演算子の使用法の概要
- の論理演算の場合非配列データまたは非数学的計算には、「and」を使用します。
- ベクトルを結合するにはブール値の場合は、「&」を使用して numpy を使用します。
以上が「and」と「&」: リストと NumPy 配列で論理 AND とビットごとの AND を使用する場合は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。