Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Penghirisan Subrentetan Luar Julat dalam Python Mengembalikan Rentetan Kosong Daripada Ralat?

Mengapa Penghirisan Subrentetan Luar Julat dalam Python Mengembalikan Rentetan Kosong Daripada Ralat?

Mary-Kate Olsen
Lepaskan: 2024-12-05 06:29:13
asal
917 orang telah melayarinya

Why Does Out-of-Range Substring Slicing in Python Return an Empty String Instead of an Error?

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

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

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!

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