본문 바로가기

Python

[파이썬] 순서 유지하면서 특정 list에 있는 단어만 남기기

string의 묶음으로 되어있는 list에서 특정 list에 있는 단어만 남기되, 순서를 유지하는 방법입니다.

즉 아래의 예시와 같이, keyword list에 있는 단어들 중 과일 이름은 지우고

동물 이름 (whitelist)만 그대로 남기고 싶을 때 사용되는 코드입니다.

whitelist = ['고양이', '강아지', '소']
keyword = ['고양이, 소, 바나나', '멜론, 수박, 강아지', '사과, 오렌지', '체리, 고양이']
keyword_filter = [', '.join(w for w in k.split(', ') if w in whitelist) for k in keyword]

print(keyword_filter)
'''
['고양이, 소', '강아지', '', '고양이']
'''