ホームページ >バックエンド開発 >Python チュートリアル >Python の「range()」関数が最終値を除外するのはなぜですか?

Python の「range()」関数が最終値を除外するのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-28 17:24:11316ブラウズ

Why Does Python's `range()` Function Exclude the Final Value?

Python の Range 関数が終了値を除外するのはなぜですか?

Python の range() 関数は、開始パラメータで始まる一連の数値を作成しますそして終了パラメータの直前で終了します。ユーザーは、range(start, end) が終了値を除いたリストを生成するという予期せぬ動作に遭遇することがよくあります。

除外の背後にある理由

この動作は、最初の印象に反して、任意ではありません。これは次の目的を果たします:

  • ゼロベースのインデックス付け: プログラミング規則では一般にゼロベースのインデックス付けが採用され、最初の要素はインデックス 0 でアクセスされます。 Range() は次のとおりです。この規則では、生成されたシーケンスの長さが指定された末尾と一致するように、末尾の値を除外します。 start.
  • ループの利便性: 多くは、シーケンスの長さを参照する for ループを使用してシーケンスを反復します。 range() に終了値が含まれている場合、ループは長さから 1 を減算する必要があり、コーディングが複雑になります。

代替ソリューション

終了値を含める必要がある場合、Python には次のオプションが用意されています。

  • 変更Range Start: range(start - 1, end) は終了値を含むシーケンスを生成します。
  • Custom Range Function: カスタム関数を定義して範囲を作成できます。終了値を含めます。例:
def inclusive_range(start, end):
    return range(start, end + 1)

以上がPython の「range()」関数が最終値を除外するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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