이 글은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!