특정 내용으로 문자열 필터링
이 프로그래밍 질문에서는 내용을 기준으로 문자열 목록을 필터링하는 솔루션을 찾습니다. ['a', 'ab', 'abc', 'bac']와 같은 목록이 주어지면 우리의 목표는 'ab'와 같은 특정 하위 문자열이 있는 문자열만 포함하는 목록을 추출하는 것입니다.
Python 구현
Python에서 이러한 필터링을 수행하기 위해 다양한 방법을 사용할 수 있습니다. 효율적인 접근 방식 중 하나는 목록 내포를 사용하는 것입니다.
<code class="python">lst = ['a', 'ab', 'abc', 'bac'] result = [k for k in lst if 'ab' in k] # Result: ['ab', 'abc']</code>
이 코드에서는 내포를 사용하여 원래 목록을 반복하고 'in' 연산자를 사용하여 각 문자열에 하위 문자열 'ab'가 포함되어 있는지 확인합니다. 이 조건을 만족하는 문자열만 결과 목록에 포함됩니다.
또 다른 옵션은 필터 기능을 활용하는 것입니다:
Python 2:
<code class="python">from itertools import ifilter lst = ['a', 'ab', 'abc', 'bac'] result = ifilter(lambda k: 'ab' in k, lst) # Result: ['ab', 'abc']</code>
Python 3:
<code class="python">lst = ['a', 'ab', 'abc', 'bac'] result = list(filter(lambda k: 'ab' in k, lst)) # Result: ['ab', 'abc']</code>
Python 3에서 필터는 반복자를 반환합니다. 목록을 얻으려면 list() 함수를 사용하여 명시적으로 캐스팅합니다. 필터 기능은 필터링을 수행하는 또 다른 방법을 제공하지만 일반적으로 이러한 유형의 작업에는 목록 이해가 더 간결하고 효율적인 것으로 간주됩니다.
위 내용은 Python에서 특정 하위 문자열 내용을 기반으로 문자열을 필터링하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!