Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Mengapit Nombor Dalam Julat Tertentu dalam Python?

Bagaimanakah Saya Boleh Mengapit Nombor Dalam Julat Tertentu dalam Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-17 17:43:02680semak imbas

How Can I Clamp Numbers Within a Specific Range in Python?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn