指定された範囲内の値の固定
問題:
次のコードを考えてみましょう:
<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>
このコードは、リストから要素を取得するための新しいインデックスを計算します。ただし、コードは冗長で、きれいな Python の美しさに欠けています。
質問:
値を指定された範囲内に固定するための、より簡潔で Python 的なソリューションはありますか?
答え:
はい、よりコンパクトで Python 的な代替手段が存在します:
<code class="python">new_index = max(0, min(new_index, len(mylist)-1))</code>
このコードは max() 関数と min() 関数を使用します冗長な条件ステートメントを必要とせずに、新しいインデックスがリストの範囲内にあることを確認します。
このソリューションは明確かつ簡潔であり、読みやすくデバッグが容易です。また、Python のベスト プラクティスにも準拠しており、より慣用的で洗練された実装を提供します。
以上がPython で指定された範囲内に値をクランプする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。