Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Fungsi `range()` Python Mengecualikan Nilai Akhir?

Mengapa Fungsi `range()` Python Mengecualikan Nilai Akhir?

Barbara Streisand
Lepaskan: 2024-11-28 17:24:11
asal
299 orang telah melayarinya

Why Does Python's `range()` Function Exclude the Final Value?

Mengapa Fungsi Julat Python Mengecualikan Nilai Akhir?

Fungsi julat() Python mencipta jujukan nombor yang bermula dengan parameter mula dan berakhir sejurus sebelum parameter akhir. Pengguna selalunya menghadapi gelagat yang tidak dijangka di mana julat(mula, tamat) menghasilkan senarai tidak termasuk nilai akhir.

Penaakulan di Sebalik Pengecualian

Bertentangan dengan tanggapan awal, tingkah laku ini bukanlah sewenang-wenangnya. Ia berfungsi untuk tujuan berikut:

  • Pengindeksan Berasaskan Sifar: Konvensyen pengaturcaraan lazimnya menggunakan pengindeksan berasaskan sifar, di mana elemen pertama diakses pada indeks 0. Julat() mematuhi konvensyen ini dengan mengecualikan nilai akhir untuk memastikan bahawa panjang jujukan yang dijana sepadan dengan akhir yang ditentukan - mulakan.
  • Kemudahan Penggulungan: Ramai yang berulang melalui jujukan menggunakan gelung yang merujuk kepada panjang jujukan. Jika julat() termasuk nilai akhir, gelung perlu menolak 1 daripada panjang, yang akan meningkatkan kerumitan pengekodan.

Penyelesaian Alternatif

Untuk kes di mana nilai akhir mesti disertakan, Python menyediakan pilihan:

  • Julat Pengubahsuaian Mula: julat(mula - 1, tamat) akan menghasilkan jujukan yang merangkumi nilai tamat.
  • Fungsi Julat Tersuai: Seseorang boleh mentakrifkan fungsi tersuai untuk mencipta julat yang merangkumi nilai akhir. Contohnya:
def inclusive_range(start, end):
    return range(start, end + 1)
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapa Fungsi `range()` Python Mengecualikan Nilai Akhir?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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