>  기사  >  백엔드 개발  >  Python에서 하위 문자열을 찾는 방법

Python에서 하위 문자열을 찾는 방법

伊谢尔伦
伊谢尔伦원래의
2017-06-28 13:27:011681검색

이 글은 Pythonstrings에서 하위 문자열을 찾는 팁을 주로 소개합니다. 필요한 친구들이 참고하면 됩니다.

문자열 s2에 s1이 포함되어 있는지 확인하는 프로그램을 작성해 달라고 하면요. 다음 코드를 직관적으로 작성할 수도 있습니다.

#determine whether s1 is a sub
stringof s2 def isSubstring1(s1,s2): 
    tag = False 
    len1 = len(s1) 
    len2 = len(s2) 
    for i in range(0,len2): 
        if s2[i] == s1[0]: 
            for j in range(0,len1): 
                if s2[i]==s1[j]: 
                    tag = True 
    
return tag

하지만 이것은 Python이므로 문자열과 함께 제공되는 find() 메서드를 사용할 수 있으므로 다음과 같은 작업을 수행할 수 있습니다.

def isSubstring2(s1,s2): 
    tag = False 
    if s2.find(s1) != -1: 
        tag = True 
    return tag


슬픈 점은 이것이다는 것입니다. Python 키워드 "in" in은 목록, 프리미티브 등 데이터 유형뿐만 아니라 문자열에도 사용할 수 있습니다. 따라서 여기서는 한 줄의 코드만 있으면 됩니다:

def isSubstring3(s1,s2):
    return s1 in s2


나중에 깨달았지만 부끄럽습니다.-)

마찬가지로 문자열에 여러 하위 문자열이 있는지 확인하고 인쇄한다고 가정해 보겠습니다. 이 문자열을 처음으로 표시되는 위치:

def findSubstrings(substrings,destString):
    res =  map(lambda x:str([destString.index(x),x]),filter(lambda x:x in destString,substrings))
    if res:
        return ', '.join(list(res))
 
;-)  very cool~


업데이트: 마지막에 겉으로는 복잡해 보이는 구문에 익숙하지 않더라도 문제가 되지 않습니다. 더 간결한 목록 구문 분석을 사용할 수 있습니다.

def findSubstrings(substrings,destString):
    return ', '.join([str([destString.index(x),x]) for x in substrings if x in destString])


위 내용은 Python에서 하위 문자열을 찾는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.