목록에 문자열이 포함되어 있는지 Python 확인

Hemank Mehtani 2023년1월30일
  1. for루프를 사용하여 Python 목록에서 특정 문자열 확인
  2. List Comprehension을 사용하여 Python 목록의 특정 문자열 확인
  3. filter()함수를 사용하여 Python 목록에서 특정 문자열 가져 오기
목록에 문자열이 포함되어 있는지 Python 확인

문자열은 일련의 문자입니다. 문자열이 특정 위치에 문자를 저장하는 것처럼 목록을 사용하여 문자열 모음을 저장할 수 있습니다.

이 자습서에서는 Python 목록에 특정 값이있는 문자열을 가져옵니다.

for루프를 사용하여 Python 목록에서 특정 문자열 확인

for는 Python에서 시퀀스를 반복하는 데 사용됩니다.

특정 값을 포함하는 문자열을 얻기위한 구현은 아래 예에 나와 있습니다.

py_list = ["a-1", "b-2", "c-3", "a-4"]
new_list = []
for x in py_list:
    if "a" in x:
        new_list.append(x)
print(new_list)

출력:

['a-1','a-4']

위 코드에서if문은for루프 내에서py_list목록에서a를 포함하는 문자열을 검색하는 데 사용됩니다. 이러한 특정 문자열을 저장하기 위해new_list라는 또 다른 목록이 작성됩니다.

List Comprehension을 사용하여 Python 목록의 특정 문자열 확인

‘목록 이해력’은 기존 목록을 기반으로 새 목록을 만드는 방법입니다. 목록을 만드는 데 사용되는 다른 함수 및 루프보다 더 작고 빠른 더 짧은 구문을 제공합니다.

예를 들면

py_list = ["a-1", "b-2", "c-3", "a-4"]
r = [s for s in py_list if "a" in s]
print(r)

출력:

['a-1', 'a-4']

위의 코드에서 목록 이해는 목록py_list에서a가있는 문자열을 검색하는 데 사용됩니다.

다른 함수 나 루프를 사용하여 동일한 코드를 작성하면 구현에 더 많은 코드가 필요하므로 더 많은 시간이 소요될 수 있지만 목록 이해는 해당 문제를 해결합니다.

또한 list comprehension을 사용하여 여러 특정 값을 포함하는 문자열을 찾을 수 있습니다. 즉, 두 이해를 결합하여py_list에서 ab가 포함 된 문자열을 찾을 수 있습니다.

예를 들면

py_list = ["a-1", "b-2", "c-3", "a-4", "b-8"]
q = ["a", "b"]
r = [s for s in py_list if any(xs in s for xs in q)]
print(r)

출력:

['a-1', 'b-2', 'a-4','b-8']

filter()함수를 사용하여 Python 목록에서 특정 문자열 가져 오기

filter()함수는 각 요소가 특정 조건을 충족하는지 여부를 확인하는 함수의 도움으로 주어진 이터 러블을 필터링합니다.

iterable의 각 요소에 대한 검사를 적용하는 반복자를 반환합니다.

예를 들면

py_lst = ["a-1", "b-2", "c-3", "a-4"]
filter(lambda x: "a" in x, py_lst)
print(filter(lambda x: "a" in x, py_lst))

출력:

<filter object at 0x7fd36c1905e0>

위의 출력은filter()함수가 목록 대신 반복기를 반환하므로 필터 반복기 유형 객체입니다.

아래 코드에 표시된대로list()함수를 사용하여 목록을 얻을 수 있습니다.

list(filter(lambda x: "a" in x, py_lst))

출력:

['a-1','a-4']

위의 코드에서filter()를 사용하여py_list목록에서 특정 값이있는 문자열을 찾았습니다.

관련 문장 - Python String

관련 문장 - Python List