Mengapit Nombor kepada Julat dalam Python
Dalam pengaturcaraan, selalunya perlu memastikan nilai kekal dalam julat tertentu. Ini dikenali sebagai pengapit, keratan atau pengehadan nombor.
Pertimbangkan kod berikut, yang mengira indeks baharu berdasarkan offset dan senarai:
<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>
Semasa kod ini mencapai tugas itu, ia adalah verbose dan berulang-ulang. Pernyataan if-else boleh dimampatkan menjadi satu baris menggunakan operator ternary:
<code class="python">new_index = 0 if new_index < 0 else len(mylist) - 1 if new_index >= len(mylist) else new_index</code>
Walau bagaimanapun, pendekatan ini tidak boleh dibaca atau intuitif seperti yang mungkin.
Sebuah pendekatan yang lebih elegan. penyelesaiannya ialah menggunakan fungsi max() dan min() untuk mengapit indeks dalam julat yang dikehendaki:
<code class="python">new_index = max(0, min(new_index, len(mylist)-1))</code>
Kod ini memastikan indeks sentiasa berada di antara 0 dan len(mylist)-1, tanpa mengira daripada nilai new_index. Penyelesaian ini padat, jelas dan mudah difahami.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengapit Nombor Dalam Julat Tertentu dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!