ホームページ >バックエンド開発 >Python チュートリアル >Python で 10 進数のステップ値を含む範囲を生成するにはどうすればよいですか?

Python で 10 進数のステップ値を含む範囲を生成するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-16 17:17:11991ブラウズ

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

range() で 10 進数のステップ値を使用する

Python の range() 関数を使用すると、指定された範囲内の値を増分できます。ただし、10 進数のステップ値を使用しようとすると、ゼロにすることはできないため、エラーが発生します。

この制限を克服するには、範囲内で生成されるポイントの数としてステップ値を指定することをお勧めします。 。 NumPy ライブラリは、ポイント数とオプションのエンドポイント値を取る linspace 関数を提供します。例:

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]

浮動小数点ステップ値の使用が必要な場合は、numpy.arange を使用できます。

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

ただし、浮動小数点の丸め誤差により予期しない動作が発生する可能性があります。 :

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

したがって、NumPy の linspace 関数を使用するか、ポイント数を指定して生成することをお勧めします。 10 進のステップ値を含む範囲。

以上がPython で 10 進数のステップ値を含む範囲を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:接続の問題次の記事:接続の問題