Python에서 두 문자열 사이의 가장 긴 공통 부분 문자열을 찾는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-10-27 03:40:02
원래의
237명이 탐색했습니다.

How to Find the Longest Common Substring Between Two Strings in Python?

두 문자열에서 공통 하위 문자열 찾기

두 문자열이 공유하는 공통 하위 문자열을 식별하는 것은 프로그래밍에서 일반적인 작업입니다. 문제 설명에 표시된 대로 두 개의 입력 문자열이 있다고 가정합니다.

<br>string1 = "apples"<br>string2 = "appleses"<br>

이 경우 공통 하위 문자열은 "apples"입니다. 마찬가지로 더 복잡한 예의 경우:

<br>string1 = "apple Pie available"<br>string2 = "apple pies"<br>

예상 출력은 공유 하위 문자열을 나타내는 "apple Pie"여야 합니다.

difflib를 사용한 Python 솔루션

Python에서 이 문제를 효율적으로 해결하기 위해 다음을 활용할 수 있습니다. 표준 라이브러리에 포함된 difflib 모듈. 특히 SequenceMatcher의 find_longest_match() 메서드를 활용하면 두 문자열 사이에서 가장 긴 공통 부분 문자열을 식별할 수 있습니다.

<code class="python">from difflib import SequenceMatcher

string1 = "apple pie available"
string2 = "come have some apple pies"

match = SequenceMatcher(None, string1, string2).find_longest_match()

print(match)  # Output: Match(a=0, b=15, size=9)
print(string1[match.a:match.a + match.size])  # Output: "apple pie"
print(string2[match.b:match.b + match.size])  # Output: "apple pie"</code>
로그인 후 복사

Python 3.9 이전 버전에서 find_longest_match() 메서드에는 추가 인수가 필요합니다.

<code class="python">SequenceMatcher(None, string1, string2).find_longest_match(0, len(string1), 0, len(string2))</code>
로그인 후 복사

이 접근 방식을 사용하면 입력 문자열 쌍에서 공통 부분 문자열을 효과적으로 추출할 수 있어 공유 시퀀스를 찾는 작업이 단순화됩니다.

위 내용은 Python에서 두 문자열 사이의 가장 긴 공통 부분 문자열을 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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