Python에서 하위 문자열의 n번째 발생을 효율적으로 찾기
Python에서 하위 문자열의 n번째 발생 인덱스를 찾는 것은 코딩 애호가에게는 겉보기에는 간단한 작업입니다. . 가장 Python적인 방식으로 이를 달성하기 위해 다양한 접근 방식을 살펴보겠습니다.
겹치지 않는 발생을 위한 반복 방법
간단하고 효율적인 접근 방식 중 하나는 발생을 반복적으로 검색하는 것입니다. n번째 항목을 찾을 때까지:
<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>
이 함수는 건초 더미를 반복하고 n번째 항목을 찾을 때까지 시작 인덱스를 바늘 길이만큼 증가시킵니다.
반복 중복 발생 방법
중복 발생을 고려해야 하는 경우 반복 접근 방식을 수정할 수 있습니다.
<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>
이 함수는 바늘 길이 대신 시작 인덱스를 1씩 증가시킵니다. , 중복되는 항목을 검색할 수 있습니다.
두 방법 모두 Python의 단순성, 평탄성 및 가독성 원칙을 준수하므로 이 문제에 대한 Pythonic 솔루션에 적합합니다.
위 내용은 Python에서 하위 문자열의 n번째 발생을 어떻게 찾을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!