Penghirisan Subrentetan Luar Julat: Mengapa Ia Berfungsi
Sementara penghirisan subrentetan dalam Python biasanya mengakibatkan ralat apabila indeks keluar julat, terdapat pengecualian untuk tingkah laku ini. Pertimbangkan operasi 'contoh'[999:9999]: bukannya ralat, ia mengembalikan rentetan kosong.
Ini kerana penghirisan subrentetan dengan indeks luar julat tidak menyebabkan pengecualian. Sebaliknya, Python mentafsirkannya sebagai julat yang melangkaui panjang jujukan, menghasilkan jujukan kosong. Tingkah laku ini berbeza daripada mengindeks satu elemen, yang akan menghasilkan ralat jika indeks berada di luar julat.
Perbezaan antara pengindeksan dan penghirisan menjadi jelas apabila berurusan dengan rentetan dan senarai. Contohnya, apabila mengindeks senarai, indeks di luar julat akan mengembalikan ralat, manakala penghirisan akan menghasilkan senarai kosong:
[0, 1, 2, 3, 4, 5][3] # Returns 3 [0, 1, 2, 3, 4, 5][3:4] # Returns [3]
Sebaliknya, rentetan bertindak secara berbeza. Memandangkan satu aksara secara intrinsik ialah rentetan 1 aksara dalam Python, mengindeks rentetan dengan indeks luar julat berkesan menghasilkan rentetan kosong:
'example'[3] # Returns 'm' (the character at index 3) 'example'[3:4] # Also returns 'm' (a substring of length 1)
Ringkasnya, penghirisan subrentetan dengan luar- indeks julat tidak menyebabkan ralat, kerana ia ditafsirkan sebagai julat yang melangkaui panjang jujukan, menghasilkan jujukan kosong. Walau bagaimanapun, mengindeks satu elemen akan mencetuskan ralat jika indeks berada di luar julat.
Atas ialah kandungan terperinci Mengapa Penghirisan Subrentetan Luar Julat dalam Python Mengembalikan Rentetan Kosong Daripada Ralat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!