Bird
Raised Fist0
NumPydata~5 mins

np.arange() for range arrays in NumPy

Choose your learning style10 modes available
Introduction

We use np.arange() to create arrays with numbers in a sequence. It helps us quickly make lists of numbers for calculations or analysis.

When you need a list of numbers from 0 to 9 to count or loop over.
When you want to create time steps like every 0.5 seconds from 0 to 5 seconds.
When you want to generate indexes for data points in a dataset.
When you want to create a range of values to plot a graph.
When you want to test a function with a sequence of inputs.
Syntax
NumPy
import numpy as np

array = np.arange(start, stop, step)

start is where the sequence begins (default is 0).

stop is where the sequence ends but is not included.

step is how much to increase each time (default is 1).

Examples
Creates numbers from 0 up to 4 (5 is not included).
NumPy
import numpy as np

array = np.arange(5)
print(array)
Creates numbers from 2 up to 6.
NumPy
import numpy as np

array = np.arange(2, 7)
print(array)
Creates numbers from 1 to 9, stepping by 2 each time.
NumPy
import numpy as np

array = np.arange(1, 10, 2)
print(array)
Creates numbers from 10 down to 6, stepping down by 1.
NumPy
import numpy as np

array = np.arange(10, 5, -1)
print(array)
Sample Program

This program shows how to create arrays with np.arange() using different starts, stops, and steps. It also shows what happens if start and stop are the same.

NumPy
import numpy as np

# Create an array from 0 to 9
array_start_0 = np.arange(10)
print('Array from 0 to 9:', array_start_0)

# Create an array from 5 to 14
array_start_5 = np.arange(5, 15)
print('Array from 5 to 14:', array_start_5)

# Create an array from 0 to 5 with step 0.5
array_step_half = np.arange(0, 5, 0.5)
print('Array from 0 to 5 with step 0.5:', array_step_half)

# Create an empty array when start equals stop
array_empty = np.arange(3, 3)
print('Empty array when start equals stop:', array_empty)
OutputSuccess
Important Notes

Time complexity: Creating an array with np.arange() is fast and runs in O(n), where n is the number of elements.

Space complexity: The array uses memory proportional to the number of elements created.

A common mistake is forgetting that the stop value is not included in the array.

Use np.arange() when you want a sequence of numbers with a fixed step. For floating point steps, sometimes np.linspace() is better to avoid rounding issues.

Summary

np.arange() creates arrays with numbers in a range you choose.

The stop value is not included in the array.

You can set the start, stop, and step to control the sequence.

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