자주 프로그래밍 작업에 특정 하위 문자열이 더 큰 문자열 내에 나타나는 횟수를 확인하는 작업이 포함됩니다. Python은 이 작업을 효율적으로 수행하기 위한 여러 가지 방법을 제공합니다.
한 가지 간단한 접근 방식은 string.count() 메서드를 활용하는 것입니다. 이 메소드는 하위 문자열을 인수로 사용하고 문자열 내에서 발생 횟수를 반환합니다. 예를 들면 다음과 같습니다.
>>> 'foo bar foo'.count('foo') 2
이 방법은 하위 문자열이 두 번 연속해서 겹치는 경우도 계산합니다. 이것이 바람직하지 않은 경우 다른 옵션을 고려할 수 있습니다.
중복 발생을 고려해야 하는 경우 슬라이딩 윈도우 접근 방식을 사용하는 사용자 정의 구현을 사용할 수 있습니다. 예는 다음과 같습니다.
def count_overlapping_occurrences(string, substring): count = 0 window_start = 0 window_end = len(substring) while window_end <= len(string): substring_occurrence = string[window_start:window_end] if substring_occurrence == substring: count += 1 window_start += 1 window_end += 1 return count >>> count_overlapping_occurrences('abcdabcva', 'ab') 4
이 기능을 사용하면 중복 여부에 관계없이 문자열 내 하위 문자열의 발생 횟수를 정확하게 확인할 수 있습니다.
위 내용은 Python에서 하위 문자열 발생을 효율적으로 계산하려면 어떻게 해야 합니까(겹치는 경우 포함)?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!