Bagaimana untuk Mencari Kejadian Nth Substring dalam Python dengan Cekap?

Barbara Streisand
Lepaskan: 2024-10-20 07:27:02
asal
988 orang telah melayarinya

How to Efficiently Find the Nth Occurrence of a Substring in Python?

Mencari Kejadian Nth Subrentetan dalam Python

Mengenal pasti kedudukan kejadian subrentetan tertentu dalam rentetan yang lebih besar ialah tugas pengaturcaraan yang kerap . Bagi pembangun Python pemula, mencapai ini dengan cekap dan idiomatik boleh menimbulkan cabaran. Artikel ini bertujuan untuk menjelaskan pelbagai kaedah yang tersedia untuk mencari kejadian ke-n bagi subrentetan, memfokuskan pada pendekatan yang paling Pythonic.

Pendekatan Berulang

Penyelesaian berulang yang mudah melibatkan mencari subrentetan beberapa kali. Secara lalai, kaedah find() Python mencari kejadian pertama sahaja. Untuk mendapatkan kejadian ke-n, kita boleh mencari secara berturut-turut bermula dari kedudukan sejurus selepas kejadian sebelumnya:

<code class="python">def find_nth(haystack: str, needle: str, n: int) -> int:
    start = haystack.find(needle)
    while start >= 0 and n > 1:
        start = haystack.find(needle, start+len(needle))
        n -= 1
    return start</code>
Salin selepas log masuk

Kaedah ini adalah mudah dan cekap ingatan.

Kejadian Bertindih

Jika kejadian pertindihan ke-n dikehendaki, kenaikan dalam kaedah find() hendaklah dilaraskan:

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

Pertimbangan Python

Berbanding dengan penyelesaian menggunakan ungkapan biasa atau pemisahan rentetan, pendekatan berulang mematuhi prinsip reka bentuk Python iaitu kesederhanaan, kerataan dan kebolehbacaan:

  • Kesederhanaan: Ia mengelakkan kerumitan yang tidak perlu dan mengekalkan aliran logik yang jelas.
  • Kerataan: Ketiadaan gelung bersarang atau pernyataan bersyarat meningkatkan kejelasan kod.
  • Kebolehbacaan: Sintaks yang mudah dan intuitif nama berubah memudahkan pemahaman yang mudah.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Kejadian Nth Substring dalam Python dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!