Bird
Raised Fist0
NumPydata~10 mins

np.arange() for range arrays in NumPy - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - np.arange() for range arrays
Start with parameters: start, stop, step
↓
Calculate values from start to stop (exclusive) by step
↓
Create array with these values
↓
Return array
np.arange() creates an array of numbers starting from 'start' up to but not including 'stop', increasing by 'step'.
Execution Sample
NumPy
import numpy as np
arr = np.arange(2, 10, 2)
print(arr)
Creates an array starting at 2, up to 10 (exclusive), stepping by 2.
Execution Table
StepCurrent ValueCondition (value < stop)ActionArray State
122 < 10: TrueAdd 2 to array[2]
244 < 10: TrueAdd 4 to array[2, 4]
366 < 10: TrueAdd 6 to array[2, 4, 6]
488 < 10: TrueAdd 8 to array[2, 4, 6, 8]
51010 < 10: FalseStop adding values[2, 4, 6, 8]
💡 Value reached 10 which is not less than stop (10), so loop stops.
Variable Tracker
VariableStartAfter 1After 2After 3After 4Final
value24681010
array[][2][2, 4][2, 4, 6][2, 4, 6, 8][2, 4, 6, 8]
Key Moments - 3 Insights
Why does np.arange() stop before reaching the stop value?
np.arange() includes values starting from 'start' but stops before 'stop' because the condition is value < stop, not <= stop. See execution_table row 5 where 10 < 10 is False.
What happens if the step is negative?
If step is negative, np.arange() counts down from start to stop (exclusive), adding values while value > stop. The direction depends on step sign.
Can np.arange() include the stop value?
Usually no, because np.arange() excludes stop. To include stop, you can adjust stop or use np.linspace().
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the array state after step 3?
A[2, 4]
B[2, 4, 6]
C[2, 4, 6, 8]
D[2]
💡 Hint
Check the 'Array State' column in execution_table row 3.
At which step does the condition become false and stop adding values?
AStep 5
BStep 3
CStep 4
DStep 2
💡 Hint
Look at the 'Condition' column in execution_table row 5.
If we change step to 3, how would the array change after step 3?
A[2, 6, 9]
B[2, 4, 6]
C[2, 5, 8]
D[2, 3, 6]
💡 Hint
Calculate values starting at 2, adding 3 each time, less than 10.
Concept Snapshot
np.arange(start, stop, step) creates an array from start up to but not including stop, stepping by step.
- Default start is 0, default step is 1.
- Values are added while value < stop (if step > 0).
- For negative step, values added while value > stop.
- Stop value is excluded.
- Useful for creating ranges of numbers quickly.
Full Transcript
np.arange() is a function in numpy that creates arrays of numbers starting from a given start value, increasing by a step size, and stopping before a stop value. It works like a number line segment generator. For example, np.arange(2, 10, 2) creates [2, 4, 6, 8]. The function checks at each step if the current value is less than the stop value (for positive steps) and adds it to the array if true. When the value reaches or passes the stop, it stops adding. This behavior is shown step-by-step in the execution table. Beginners often wonder why the stop value is not included; this is because the condition is strictly less than stop. Changing the step size changes the values generated. np.arange() is a simple and fast way to create numeric ranges for data science tasks.

Practice

(1/5)
1. What does np.arange(3) produce?
easy
A. [0, 1, 2]
B. [1, 2, 3]
C. [0, 1, 2, 3]
D. [3]

Solution

  1. Step 1: Understand default start value

    If only one number is given, np.arange starts from 0 by default.
  2. Step 2: Identify stop value exclusion

    The stop value 3 is excluded, so the array includes 0, 1, 2.
  3. Final Answer:

    [0, 1, 2] -> Option A
  4. Quick Check:

    Start=0, stop=3 excluded, so [0,1,2] [OK]
Hint: Remember: stop value is NOT included in output [OK]
Common Mistakes:
  • Including the stop value in the array
  • Starting from 1 instead of 0
  • Confusing step with stop
2. Which of these is the correct syntax to create an array from 2 to 6 (excluding 6) with step 1 using np.arange()?
easy
A. np.arange(6, 2, 1)
B. np.arange(2, 6, 0)
C. np.arange(2, 7)
D. np.arange(2, 6, 1)

Solution

  1. Step 1: Check start, stop, and step order

    Start should be less than stop for positive step; step cannot be zero.
  2. Step 2: Validate each option

    np.arange(2, 6, 1) uses start=2, stop=6, step=1 correctly. np.arange(6, 2, 1) reverses start and stop. np.arange(2, 7) sets stop=7, producing [2 3 4 5 6] which includes 6. np.arange(2, 6, 0) has step=0 which is invalid.
  3. Final Answer:

    np.arange(2, 6, 1) -> Option D
  4. Quick Check:

    Start=2, stop=6, step=1 is correct syntax [OK]
Hint: Step must not be zero; start < stop for positive step [OK]
Common Mistakes:
  • Using zero as step value
  • Reversing start and stop values
  • Using wrong stop value
3. What is the output of this code?
import numpy as np
arr = np.arange(1, 10, 3)
print(arr)
medium
A. [1 4 7]
B. [1 3 6 9]
C. [1 2 3 4 5 6 7 8 9]
D. [3 6 9]

Solution

  1. Step 1: Understand parameters of np.arange

    Start=1, stop=10 (excluded), step=3 means numbers start at 1 and increase by 3 until less than 10.
  2. Step 2: Calculate values

    Values are 1, 4 (1+3), 7 (4+3). Next would be 10 which is excluded.
  3. Final Answer:

    [1 4 7] -> Option A
  4. Quick Check:

    Start=1, step=3, stop=10 excluded gives [1,4,7] [OK]
Hint: Add step repeatedly until reaching stop (excluded) [OK]
Common Mistakes:
  • Including stop value 10
  • Adding step incorrectly
  • Confusing step with stop
4. What is wrong with this code?
import numpy as np
arr = np.arange(5, 2, 1)
print(arr)
medium
A. It raises a ValueError
B. It produces an empty array
C. It produces [5, 4, 3]
D. It produces [2, 3, 4, 5]

Solution

  1. Step 1: Analyze start, stop, and step values

    Start=5, stop=2, step=1 means counting up from 5 to less than 2, which is impossible.
  2. Step 2: Understand np.arange behavior

    Since step is positive but start > stop, no values satisfy condition, so result is empty array.
  3. Final Answer:

    It produces an empty array -> Option B
  4. Quick Check:

    Positive step with start > stop gives empty array [OK]
Hint: Positive step needs start < stop to produce values [OK]
Common Mistakes:
  • Expecting reversed array without negative step
  • Thinking it raises error
  • Confusing start and stop order
5. You want to create an array starting at 10, decreasing by 2, stopping before 0. Which np.arange() call is correct?
hard
A. np.arange(0, 10, -2)
B. np.arange(10, 0, 2)
C. np.arange(10, 0, -2)
D. np.arange(0, 10, 2)

Solution

  1. Step 1: Identify start, stop, and step for decreasing sequence

    Start=10, stop=0 (excluded), step must be negative to decrease.
  2. Step 2: Check each option

    np.arange(10, 0, -2) uses step=-2 correctly. np.arange(10, 0, 2) has positive step, so no values. Options C and D start at 0, which is not desired.
  3. Final Answer:

    np.arange(10, 0, -2) -> Option C
  4. Quick Check:

    Decreasing sequence needs negative step [OK]
Hint: Use negative step to count down in np.arange [OK]
Common Mistakes:
  • Using positive step for decreasing sequence
  • Swapping start and stop values
  • Starting at stop value instead of start
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