> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 하위 문자열 발생을 효율적으로 계산하려면 어떻게 해야 합니까(겹치는 경우 포함)?

Python에서 하위 문자열 발생을 효율적으로 계산하려면 어떻게 해야 합니까(겹치는 경우 포함)?

Barbara Streisand
풀어 주다: 2024-11-28 21:47:10
원래의
963명이 탐색했습니다.

How Can I Efficiently Count Substring Occurrences in Python (Including Overlapping Cases)?

Python의 문자열 내에서 하위 문자열의 발생 횟수 계산

자주 프로그래밍 작업에 특정 하위 문자열이 더 큰 문자열 내에 나타나는 횟수를 확인하는 작업이 포함됩니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿