Mencari Kejadian ke-n Subrentetan dalam Python dengan Cekap
Mencari indeks kejadian ke-n subrentetan dalam Python menimbulkan tugas yang nampaknya mudah untuk peminat pengekodan . Untuk mencapai matlamat ini dengan cara yang paling Pythonic, mari kita terokai pelbagai pendekatan.
Kaedah Iteratif untuk Kejadian Tidak Bertindih
Satu pendekatan yang mudah dan cekap ialah mencari kejadian secara berulang sehingga yang ke-n ditemui:
<code class="python">def find_nth(haystack, needle, n): start = haystack.find(needle) while start >= 0 and n > 1: start = haystack.find(needle, start + len(needle)) n -= 1 return start</code>
Fungsi ini berulang melalui timbunan jerami dan menambah indeks permulaan mengikut panjang jarum sehingga kejadian ke-n ditemui.
Berulang Kaedah untuk Kejadian Bertindih
Jika kejadian bertindih perlu dipertimbangkan, pendekatan berulang boleh diubah suai:
<code class="python">def find_nth_overlapping(haystack, needle, n): start = haystack.find(needle) while start >= 0 and n > 1: start = haystack.find(needle, start + 1) n -= 1 return start</code>
Fungsi ini menambah indeks permulaan sebanyak 1 dan bukannya panjang jarum , membolehkannya mencari kejadian bertindih.
Kedua-dua kaedah mematuhi prinsip kesederhanaan, kerataan dan kebolehbacaan Python, menjadikannya sesuai untuk penyelesaian Pythonic untuk masalah ini.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mencari Kejadian ke-n bagi Subrentetan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!