Python での範囲内の値の固定
数値データを扱う場合、多くの場合、値が特定の範囲内に収まるようにする必要があります。明示的な条件チェックは一般的な方法ですが、冗長で扱いにくくなる可能性があります。幸いなことに、Python はこのタスクに対してより簡潔で洗練されたソリューションを提供します。
値をクランプする 1 つの方法は、組み込みの max() 関数と min() 関数を利用することです。これらの関数は複数の引数を受け取り、それぞれ最大値または最小値を返します。これらの関数を連鎖させることで、値の下限と上限を強制できます:
new_index = max(0, min(new_index, len(mylist)-1))
この式は、new_index を 0 の最大値、new_index と len(mylist)-1 の最小値として計算します。これにより、new_index がリストの範囲内に効果的にクランプされます。
たとえば、new_index が -1 の場合、下限である 0 にクランプされます。 new_index が 10 で、len(mylist) が 5 の場合、上限から 1 を引いた 4 にクランプされます。
3 項条件式で max() 関数と min() 関数を使用することもできます。さらにコンパクトになりますが、読みやすさが損なわれる可能性があります:
new_index = 0 if new_index この式小なり演算子 (
極度の簡潔さよりも明瞭さと読みやすさを優先する必要があることを覚えておいてください。コードの横に簡潔なコメントを追加すると、他の人がクランプ ロジックの背後にある意図を理解するのに役立ちます。
# Clamp new_index within the bounds of the list
new_index = max(0, min(new_index, len(mylist)-1))
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3