Bagaimanakah Saya Boleh Mengapit Nombor Dalam Julat Tertentu dalam Python?

Mary-Kate Olsen
Lepaskan: 2024-10-17 17:43:02
asal
761 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan