# NumPy: The Difference Between np.linspace and np.arange

When it comes to creating a sequence of values, linspace and arange are two commonly used NumPy functions.

Here is the subtle difference between the two functions:

• linspace allows you to specify the number of steps
• arange allows you to specify the size of the steps

The following examples show how to use each function in practice.

## Example 1: How to Use np.linspace

The np.linspace() function uses the following basic syntax:

np.linspace(start, stop, num, …)

where:

• start: The starting value of the sequence
• stop: The end value of the sequence
• num: the number of values to generate

The following code shows how to use np.linspace() to create 11 values evenly spaced between 0 and 20:

```import numpy as np

#create sequence of 11 evenly spaced values between 0 and 20
np.linspace(0, 20, 11)

array([ 0.,  2.,  4.,  6.,  8., 10., 12., 14., 16., 18., 20.])
```

The result is an array of 11 values that are evenly spaced between 0 and 20.

Using this method, np.linspace() automatically determines how far apart to space the values.

## Example 2: How to Use np.arange

The np.arange() function uses the following basic syntax:

np.arange(start, stop, step, …)

where:

• start: The starting value of the sequence
• stop: The end value of the sequence
• step: The spacing between values

The following code shows how to use np.arange() to create a sequence of values between 0 and 20 where the spacing between each value is 2:

```import numpy as np

#create sequence of values between 0 and 20 where spacing is 2
np.arange(0, 20, 2)

array([ 0,  2,  4,  6,  8, 10, 12, 14, 16, 18])
```

The result is a sequence of values between 0 and 20 where the spacing between each value is 2.

Using this method, np.arange() automatically determines how many values to generate.

If we use a different step size (like 4) then np.arange() will automatically adjust the total number of values generated:

```import numpy as np

#create sequence of values between 0 and 20 where spacing is 4
np.arange(0, 20, 4)

array([ 0,  4,  8, 12, 16])
```