반응형
Python에서 List 의 문자열 포함 유무를 확인할 수 있는 3가지 방법에 대해서 정리해 보겠다.
가장 쉽게는 for문을 이용하는 것이다. 이는 익히 사용을 많이 하기 때문에 여기에 정리하지 않겠다.
여기에서는 Pandas 및 지능형 리스트 활용하는 방법에 대해서 정리해 본다.
먼저 Pandas에서 제공하는 str.contains를 통해서 리스트에서 검색이 가능하다.
여기에서 특히 강점은 contains 조건을 다중으로 설정 할 수 있다는 것이다.
아래 코드를 보면 a|b라는 문장을 만들어 a또는b가 포함된 리스트를 확인하는 것이 가능하다.
Pandas
>>> import pandas as pd
>>>
>>> abc_list ={'name':['aaaa', 'bcd', 'xyz', 'y']}
>>> abc_list_df = pd.DataFrame(abc_list)
>>>
>>> str_match = '|'.join(['a', 'b'])
>>> df_result = abc_list_df[abc_list_df['name'].str.contains(str_match)]
>>>
>>> df_result
name
0 aaaa
1 bcd
다중으로 복잡한 쿼리에서 이를 활용하는 것이 용이할 것이다.
복잡하지 않다면 아래와 같이 지능형 리스트를 통해 아래와 같이 in 사용할 수 도 있다.
in 을 사용하면 in 앞에 사용한 문자가 포함되었는지 확인하여 True/False를 검증하는 방식이다.
지능형 리스트
>>> abc_list ={'name':['aaaa', 'bcd', 'xyz', 'y']}
>>>
>>> in_result = [match_item for match_item in abc_list['name'] if 'a' in match_item or 'b' in match_item]
>>> in_result
['aaaa', 'bcd']
반응형
'Python' 카테고리의 다른 글
Python - Mocking/단위 테스트(Unit Test) 과 Django 활용 (0) | 2024.03.25 |
---|---|
Python - Class, self 메모리 할당과 관리 Reference counting (0) | 2024.03.25 |
Python - sys.exit(0) 과 sys.exit(1)의 차이 exit code (0) | 2024.03.25 |
Python - Zombie Process 처리 timeout (0) | 2024.03.25 |
Python - asyncio 코루틴 await 이해하기 (0) | 2024.03.25 |