Home > Backend Development > Python Tutorial > How Can I Generate a Range with Decimal Step Values in Python?

How Can I Generate a Range with Decimal Step Values in Python?

Barbara Streisand
Release: 2024-12-16 17:17:11
Original
847 people have browsed it

How Can I Generate a Range with Decimal Step Values in Python?

Using Decimal Step Values in range()

Python's range() function allows for incrementing values within a specified range. However, when attempting to use a decimal step value, an error occurs as it cannot be zero.

To overcome this limitation, it is recommended to specify the step value as the number of points to be generated in the range. The NumPy library provides the linspace function which takes a number of points and an optional endpoint value. For instance:

import numpy as np
np.linspace(0, 1, 11)  # returns [0, 0.1, 0.2, ..., 1]
np.linspace(0, 1, 10, endpoint=False)  # returns [0, 0.1, 0.2, ..., 0.9]
Copy after login

If using a floating-point step value is necessary, numpy.arange can be used:

np.arange(0.0, 1.0, 0.1)  # returns [0, 0.1, 0.2, ..., 0.9]
Copy after login

However, floating-point rounding error can cause unexpected behavior:

np.arange(1, 1.3, 0.1)  # returns [1, 1.1, 1.2, 1.3] (incorrect due to rounding error)
Copy after login

Therefore, using NumPy's linspace function or specifying the number of points is preferred for generating ranges with decimal step values.

The above is the detailed content of How Can I Generate a Range with Decimal Step Values in Python?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template