Bird
Raised Fist0
NumPydata~20 mins

np.intersect1d() for intersection in NumPy - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
Intersection Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of np.intersect1d() with simple arrays
What is the output of the following code?
import numpy as np
arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([3, 4, 5, 6])
result = np.intersect1d(arr1, arr2)
print(result)
NumPy
import numpy as np
arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([3, 4, 5, 6])
result = np.intersect1d(arr1, arr2)
print(result)
A[3 4]
B[1 2]
C[5 6]
D[]
Attempts:
2 left
💡 Hint
np.intersect1d() returns sorted unique values common to both arrays.
❓ data_output
intermediate
2:00remaining
Number of elements in intersection
Given two arrays, what is the number of elements in their intersection?
import numpy as np
arr1 = np.array([10, 20, 30, 40, 50])
arr2 = np.array([30, 40, 50, 60, 70])
intersect = np.intersect1d(arr1, arr2)
print(len(intersect))
NumPy
import numpy as np
arr1 = np.array([10, 20, 30, 40, 50])
arr2 = np.array([30, 40, 50, 60, 70])
intersect = np.intersect1d(arr1, arr2)
print(len(intersect))
A3
B2
C5
D0
Attempts:
2 left
💡 Hint
Count how many unique values appear in both arrays.
🔧 Debug
advanced
2:00remaining
Error type from incorrect np.intersect1d() usage
What error does the following code raise?
import numpy as np
arr1 = [1, 2, 3]
arr2 = 4
result = np.intersect1d(arr1, arr2)
print(result)
NumPy
import numpy as np
arr1 = [1, 2, 3]
arr2 = 4
result = np.intersect1d(arr1, arr2)
print(result)
ANo error, prints []
BValueError
CIndexError
DTypeError
Attempts:
2 left
💡 Hint
Check if the second argument is iterable as expected by np.intersect1d.
🚀 Application
advanced
2:00remaining
Using np.intersect1d() to find common words
You have two lists of words from two documents:
doc1 = ['apple', 'banana', 'cherry', 'date']
doc2 = ['banana', 'date', 'fig', 'grape']
common_words = np.intersect1d(doc1, doc2)
print(common_words)

What will be printed?
NumPy
doc1 = ['apple', 'banana', 'cherry', 'date']
doc2 = ['banana', 'date', 'fig', 'grape']
common_words = np.intersect1d(doc1, doc2)
print(common_words)
A['fig' 'grape']
B['apple' 'cherry']
C['banana' 'date']
D[]
Attempts:
2 left
💡 Hint
np.intersect1d returns sorted unique common elements.
🧠 Conceptual
expert
3:00remaining
Behavior of np.intersect1d() with duplicates and sorting
Consider these arrays:
arr1 = np.array([5, 3, 3, 1, 2, 2])
arr2 = np.array([2, 3, 3, 4, 5])
result = np.intersect1d(arr1, arr2)
print(result)

Which statement about the output is true?
NumPy
arr1 = np.array([5, 3, 3, 1, 2, 2])
arr2 = np.array([2, 3, 3, 4, 5])
result = np.intersect1d(arr1, arr2)
print(result)
AThe output is [3 3 2 2 5], duplicates preserved in original order
BThe output is [2 3 5], duplicates removed and sorted ascending
CThe output is [5 3 2], duplicates removed but order is from arr1
DThe output is [1 2 3 4 5], all unique elements combined
Attempts:
2 left
💡 Hint
np.intersect1d returns sorted unique values common to both arrays.

Practice

(1/5)
1. What does the function np.intersect1d() do in NumPy?
easy
A. Finds common elements between two arrays
B. Combines two arrays into one
C. Sorts an array in descending order
D. Removes duplicates from an array

Solution

  1. Step 1: Understand the function purpose

    np.intersect1d() is designed to find elements that appear in both input arrays.
  2. Step 2: Compare with other options

    Options A, B, and D describe different functions: sorting descending, combining arrays, and removing duplicates, which are not the purpose of np.intersect1d().
  3. Final Answer:

    Finds common elements between two arrays -> Option A
  4. Quick Check:

    Intersection = common elements [OK]
Hint: Think 'intersection' means shared items [OK]
Common Mistakes:
  • Confusing intersection with concatenation
  • Thinking it sorts descending
  • Mixing with duplicate removal
2. Which of the following is the correct syntax to find the intersection of arrays a and b using NumPy?
easy
A. np.intersect(a, b)
B. np.intersection(a, b)
C. np.intersect1d(a, b)
D. np.intersect1d([a, b])

Solution

  1. Step 1: Recall the correct function name and parameters

    The correct function is np.intersect1d() and it takes two arrays as separate arguments.
  2. Step 2: Check each option

    np.intersect1d(a, b) uses the correct function and syntax. Options B and C use incorrect function names. np.intersect1d([a, b]) incorrectly passes a list of arrays instead of two separate arguments.
  3. Final Answer:

    np.intersect1d(a, b) -> Option C
  4. Quick Check:

    Correct function and parameters [OK]
Hint: Use exact function name and separate arrays as arguments [OK]
Common Mistakes:
  • Using wrong function names
  • Passing arrays inside a list
  • Missing one argument
3. What is the output of the following code?
import numpy as np
x = np.array([3, 1, 4, 1, 5])
y = np.array([5, 9, 2, 6, 5])
print(np.intersect1d(x, y))
medium
A. [1 5]
B. [3 5]
C. [1 5 9]
D. [5]

Solution

  1. Step 1: Identify unique elements in both arrays

    Array x has elements {1, 3, 4, 5} (1 appears twice but counted once). Array y has elements {2, 5, 6, 9} (5 appears twice but counted once).
  2. Step 2: Find common elements

    The only common element between x and y is 5.
  3. Final Answer:

    [5] -> Option D
  4. Quick Check:

    Common elements = [5] [OK]
Hint: Look for numbers appearing in both arrays [OK]
Common Mistakes:
  • Including duplicates
  • Adding elements not in both arrays
  • Confusing order of output
4. The following code throws an error. What is the problem?
import numpy as np
arr1 = [1, 2, 3]
arr2 = [2, 3, 4]
result = np.intersect1d(arr1 arr2)
print(result)
medium
A. Missing comma between arguments in np.intersect1d()
B. Arrays must be NumPy arrays, not lists
C. np.intersect1d() does not accept two arguments
D. print() function is used incorrectly

Solution

  1. Step 1: Check the function call syntax

    The call np.intersect1d(arr1 arr2) is missing a comma between the two arguments.
  2. Step 2: Verify other parts

    Passing lists is allowed because NumPy converts them internally. The function accepts two arguments. The print statement is correct.
  3. Final Answer:

    Missing comma between arguments in np.intersect1d() -> Option A
  4. Quick Check:

    Arguments must be separated by commas [OK]
Hint: Check commas between function arguments [OK]
Common Mistakes:
  • Forgetting commas
  • Thinking lists are invalid inputs
  • Misreading error source
5. You have two arrays representing product IDs sold in two stores:
store1 = np.array([101, 102, 103, 104, 105])
store2 = np.array([104, 105, 106, 107])

How can you find the sorted list of product IDs sold in both stores using np.intersect1d()?
hard
A. np.union1d(store1, store2)
B. np.intersect1d(store1, store2)
C. np.setdiff1d(store1, store2)
D. np.concatenate((store1, store2))

Solution

  1. Step 1: Understand the problem

    We want product IDs common to both stores, which means intersection.
  2. Step 2: Choose the correct function

    np.intersect1d(store1, store2) returns sorted common elements. Other options return union, difference, or concatenation, which are not correct here.
  3. Final Answer:

    np.intersect1d(store1, store2) -> Option B
  4. Quick Check:

    Intersection = common products [OK]
Hint: Use intersect1d for common elements between arrays [OK]
Common Mistakes:
  • Using union instead of intersection
  • Using difference or concatenation
  • Not sorting output