Python で数値を範囲に固定する
プログラミングでは、値が特定の範囲内に収まるようにすることが必要になることがよくあります。これは、数値のクランプ、クリッピング、または制限として知られています。
オフセットとリストに基づいて新しいインデックスを計算する次のコードを考えてみましょう。
<code class="python">new_index = index + offset if new_index < 0: new_index = 0 if new_index >= len(mylist): new_index = len(mylist) - 1 return mylist[new_index]</code>
このコードは次のことを実行します。タスクは冗長で反復的です。 if-else ステートメントは、次の三項演算子を使用して 1 行に要約できます。
<code class="python">new_index = 0 if new_index < 0 else len(mylist) - 1 if new_index >= len(mylist) else new_index</code>
ただし、このアプローチは、思ったほど読みやすく直感的ではありません。
より洗練された方法解決策は、max() 関数と min() 関数を使用してインデックスを目的の範囲内にクランプすることです。
<code class="python">new_index = max(0, min(new_index, len(mylist)-1))</code>
このコードでは、インデックスが常に 0 から len(mylist)-1 の間にあることが保証されます。 new_index の値。このソリューションはコンパクトかつ明確で理解しやすいものです。
以上がPython で数値を特定の範囲内にクランプするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。