HOWTO · Python

Python의 목록에서 문자열 찾기

이 튜토리얼은 Python에서 특정 하위 문자열이있는 요소를 찾는 방법을 보여줍니다.

이 튜토리얼에서는 특정 하위 문자열이있는 Python 목록에서 요소를 찾는 방법을 소개합니다.

다음 목록으로 작업하고 ack이있는 문자열을 추출합니다.

my_list = ["Jack", "Mack", "Jay", "Mark"]

for루프를 사용하여 Python에서 특정 부분 문자열을 포함하는 목록에서 요소 찾기

이 방법에서는 목록을 반복하고 하위 문자열이 특정 요소에 있는지 여부를 확인합니다. 요소에 하위 문자열이 있으면 문자열에 저장합니다. 다음 코드는 방법을 보여줍니다.

str_match = [s for s in my_list if "ack" in s]
print(str_match)

출력:

['Jack', 'Mack']

in 키워드는이 예에서 주어진 문자열"ack"가 문자열에 있는지 여부를 확인합니다. 또한 문자열 클래스의 매직 메서드 인__contains__ 메서드로 대체 할 수도 있습니다. 예를 들면 :

str_match = [s for s in my_list if s.__contains__("ack")]
print(str_match)

출력:

['Jack', 'Mack']

filter()함수를 사용하여 특정 하위 문자열을 포함하는 Python 목록에서 요소 찾기

filter()함수는 함수의 도움을 받아 주어진 객체에서 데이터의 하위 집합을 검색합니다. 이 메서드는lambda 키워드를 사용하여 데이터 필터링 조건을 정의합니다. lambda 키워드는 Python에서 한 줄짜리lambda 함수를 만듭니다. 다음 코드 조각을 참조하십시오.

str_match = list(filter(lambda x: "ack" in x, my_list))
print(str_match)

출력:

['Jack', 'Mack']

정규식을 사용하여 특정 하위 문자열을 포함하는 Python 목록에서 요소 찾기

정규식은 요소를 검색하기 위해 일치하는 패턴으로 작동 할 수있는 일련의 문자입니다. 정규식을 사용하려면re 모듈을 가져와야합니다. 이 메서드에서는 특정 패턴과 일치하는 요소를 반환하는 데 사용되는for 루프와re.search()메서드를 사용합니다. 다음 코드는 방법을 설명합니다.

import re

pattern = re.compile(r"ack")
str_match = [x for x in my_list if re.search("ack", x)]
print(str_match)

출력:

['Jack', 'Mack']