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)
Atas ialah kandungan terperinci Mengapa Fungsi `range()` Python Mengecualikan Nilai Akhir?. 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