"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python에서 하위 문자열 발생을 효율적으로 계산하려면 어떻게 해야 합니까(겹치는 경우 포함)?

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

2024년 11월 21일에 게시됨
검색:535

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 >> count_overlapping_occurrences('abcdabcva', 'ab')
4

이 함수를 사용하면 문자열 내에서 하위 문자열이 중복되는지 여부에 관계없이 항목의 발생 횟수를 정확하게 확인할 수 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3