Bird
Raised Fist0
NumPydata~5 mins

Logical operations (and, or, not) in NumPy - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the numpy.logical_and() function do?
It performs an element-wise logical AND operation between two arrays, returning True only where both elements are True.
Click to reveal answer
beginner
How does numpy.logical_or() differ from numpy.logical_and()?
numpy.logical_or() returns True if at least one element in the pair is True, unlike logical_and() which requires both to be True.
Click to reveal answer
beginner
What is the purpose of numpy.logical_not()?
It returns the element-wise logical NOT of an array, flipping True to False and vice versa.
Click to reveal answer
intermediate
Why use numpy.logical_and() instead of Python's and with arrays?
Python's and does not work element-wise on arrays. numpy.logical_and() applies the operation to each pair of elements, which is needed for array data.
Click to reveal answer
intermediate
How can you combine multiple logical operations in NumPy?
You can nest numpy.logical_and(), numpy.logical_or(), and numpy.logical_not() calls to create complex conditions applied element-wise.
Click to reveal answer
What will numpy.logical_and([True, False], [True, True]) return?
A[True, False]
B[False, True]
C[True, True]
D[False, False]
Which function flips True to False and False to True in NumPy?
Anumpy.logical_not()
Bnumpy.logical_or()
Cnumpy.logical_and()
Dnumpy.invert()
What does numpy.logical_or([False, False], [True, False]) return?
A[False, True]
B[False, False]
C[True, False]
D[True, True]
Why can't you use Python's and directly on NumPy arrays?
AIt works but is slow
BIt returns the first array always
CIt converts arrays to lists first
DIt raises an error because <code>and</code> expects single booleans
How do you combine logical_and and logical_not in NumPy?
ABy using <code>numpy.logical_not(numpy.logical_and(a, b))</code>
BBy using <code>numpy.logical_and(a, numpy.logical_not(b))</code>
CBy using <code>a and not b</code>
DBy using <code>numpy.and_not(a, b)</code>
Explain how to perform element-wise logical AND, OR, and NOT operations on NumPy arrays.
Think about how to check conditions for each item in a list.
You got /4 concepts.
    Describe why Python's built-in logical operators cannot be used directly on NumPy arrays and how NumPy solves this.
    Consider how Python handles single values vs lists.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which NumPy function is used to perform a logical AND operation element-wise on two arrays?
      easy
      A. numpy.logical_and
      B. numpy.and_
      C. numpy.bitwise_and
      D. numpy.logical_or

      Solution

      1. Step 1: Understand logical AND operation in NumPy

        Logical AND combines two boolean arrays and returns True only where both are True.
      2. Step 2: Identify the correct NumPy function

        numpy.logical_and is the function designed for element-wise logical AND on boolean arrays.
      3. Final Answer:

        numpy.logical_and -> Option A
      4. Quick Check:

        AND operation = numpy.logical_and [OK]
      Hint: AND operation in NumPy uses logical_and function [OK]
      Common Mistakes:
      • Confusing bitwise_and with logical_and
      • Using logical_or instead of logical_and
      • Using and_ which is not a NumPy function
      2. Which of the following is the correct syntax to apply a logical NOT operation on a NumPy array a?
      easy
      A. numpy.logical_not[]
      B. numpy.not(a)
      C. numpy.logical_not(a)
      D. not numpy.logical(a)

      Solution

      1. Step 1: Recall the correct function for logical NOT in NumPy

        The function is numpy.logical_not(array) to invert boolean values element-wise.
      2. Step 2: Check syntax correctness

        numpy.logical_not(a) uses correct function and parentheses syntax; others are invalid or incorrect.
      3. Final Answer:

        numpy.logical_not(a) -> Option C
      4. Quick Check:

        NOT operation = numpy.logical_not(array) [OK]
      Hint: Use logical_not with parentheses for NOT operation [OK]
      Common Mistakes:
      • Using numpy.not which does not exist
      • Using square brackets instead of parentheses
      • Trying to negate with not keyword on arrays
      3. What is the output of the following code?
      import numpy as np
      x = np.array([True, False, True])
      y = np.array([False, False, True])
      result = np.logical_or(x, y)
      print(result)
      medium
      A. [False False False]
      B. [False True True]
      C. [True True True]
      D. [True False True]

      Solution

      1. Step 1: Understand logical OR operation element-wise

        logical_or returns True if either element in the pair is True.
      2. Step 2: Apply logical_or to each pair in arrays x and y

        Pairs: (True, False) -> True, (False, False) -> False, (True, True) -> True.
      3. Final Answer:

        [True False True] -> Option D
      4. Quick Check:

        logical_or([True,False,True],[False,False,True]) = [True,False,True] [OK]
      Hint: OR is True if any element is True in pair [OK]
      Common Mistakes:
      • Confusing logical_or with logical_and
      • Misreading boolean values in arrays
      • Assuming all False if one element is False
      4. Identify the error in the following code snippet:
      import numpy as np
      arr = np.array([True, False, True])
      result = arr and np.array([False, True, False])
      print(result)
      medium
      A. np.array should be np.logical_and
      B. Using 'and' operator directly on NumPy arrays causes an error
      C. Missing parentheses around arrays
      D. Arrays must be converted to lists before logical operations

      Solution

      1. Step 1: Understand Python 'and' operator with arrays

        'and' is a Python keyword that does not work element-wise on arrays; it expects single boolean values.
      2. Step 2: Identify correct way to do element-wise logical AND

        Use numpy.logical_and(arr1, arr2) for element-wise AND on arrays.
      3. Final Answer:

        Using 'and' operator directly on NumPy arrays causes an error -> Option B
      4. Quick Check:

        Python 'and' fails on arrays; use logical_and [OK]
      Hint: Use numpy.logical_and, not Python 'and' for arrays [OK]
      Common Mistakes:
      • Using Python 'and' instead of numpy.logical_and
      • Trying to use 'and' without parentheses
      • Converting arrays to lists unnecessarily
      5. Given two NumPy arrays:
      a = np.array([1, 0, 3, 0, 5])
      b = np.array([0, 2, 3, 4, 0])

      Which code snippet correctly creates a boolean array that is True where a is non-zero AND b is zero?
      hard
      A. np.logical_and(a != 0, b == 0)
      B. np.logical_or(a != 0, b == 0)
      C. np.logical_not(np.logical_and(a == 0, b != 0))
      D. np.logical_and(a == 0, b == 0)

      Solution

      1. Step 1: Translate the condition into logical expressions

        We want True where a is not zero AND b is zero, so conditions are a != 0 and b == 0.
      2. Step 2: Use numpy.logical_and to combine conditions element-wise

        np.logical_and(a != 0, b == 0) returns True only where both conditions hold.
      3. Final Answer:

        np.logical_and(a != 0, b == 0) -> Option A
      4. Quick Check:

        AND of (a != 0) and (b == 0) = np.logical_and(a != 0, b == 0) [OK]
      Hint: Combine conditions with logical_and for AND filtering [OK]
      Common Mistakes:
      • Using logical_or instead of logical_and
      • Negating conditions incorrectly
      • Checking for zeros instead of non-zeros
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard