AI 탐구노트

[Python] 차집합을 이용해서 목록에서 없는 요소 추출하기 본문

기술 팁

[Python] 차집합을 이용해서 목록에서 없는 요소 추출하기

42morrow 2025. 2. 13. 11:31

 

python을 이용해서 목록들 간에 서로 존재하지 않는 것들을 추출하는 방법을 정리해 둡니다. 

 

제 경우, 국가 정보를 가진 가진 json 파일을 읽어와 DataFrame에 저장해 두고 이를 이용하고 있는데, 마침 특정 국가들로 필터링 해야하는 상황이 생겼습니다. 필터링해야 하는 국가명도 DataFrame에서 뽑아서 쓰면 좋겠지만 그렇지 못하고 외부에서 국가정보를 가져와서 이를 사용해야 하는 상황이었던거죠. 그래서, 둘 간을 비교해서 가져온 것 가운데 기존 데이터에 존재하지 않는 것만 걸러낼 필요가 생겼는데 이럴 때 사용할 수 있는 간단한 방법을 알려 드립니다.

 

 

차집합을 이용하는 방법 

달리 하는 방법도 있겠지만 가장 간단하고 직관적입니다. 어린시절 배운 '차집합'의 개념을 그대로 이용하고 있죠. 예제 코드는 다음과 같습니다. 

df_set = set(df['국가'])
country_list = ['그리스', '영국']

list_set = set(country_list)
missing_countries = list(list_set - df_set)
    
print(missing_countries)


# 결과 예시
['독일', '프랑스', '캐나다']