AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

파이썬에서의 집합(Set) 이해

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

- 초보 파이썬 학습자

- 데이터 구조 및 집합 연산에 관심 있는 개발자

- 난이도: 기초 수준 (데이터 타입과 연산 기초 지식 필요)

핵심 요약

  • 집합(Set)은 중복 요소를 자동으로 제거하는 데이터 구조입니다.
  • add(), difference(), union(), intersection() 등의 메서드로 집합 연산을 수행할 수 있습니다.
  • |, & 연산자로 간단히 합집합/교집합을 구할 수 있으며, 순서가 보장되지 않아 인덱스 접근이 불가능합니다.

섹션별 세부 요약

1. 집합의 기본 특성

  • 중복 요소 제거: {"jim", "michael", "michael", "jan"}{'jim', 'michael', 'jan'}
  • 추가 방법: group_1.add("pam")
  • 리스트로 변환: list({"jim", "michael", "jan"}) → 순서가 무작위로 변경됨

2. 집합 연산 메서드

  • 차집합: group_1.difference(group_2){'michael', 'pam', 'jan'}
  • 합집합: group_1.union(group_2) 또는 group_1 | group_2{'jim', 'pam', 'jan', 'ryan', 'kelly', 'michael'}
  • 교집합: group_1.intersection(group_2) 또는 group_1 & group_2{'jim'}

3. 집합의 한계와 대응 방안

  • 순서 무시: print(group_1) → 요소 순서가 정해지지 않음 (해시 테이블 기반 저장 방식 때문)
  • 인덱스 접근 불가: group_1[0] → 오류 발생
  • 리스트 변환으로 대체: list(group_1) → 순서를 임의로 정렬하여 사용 가능

결론

  • 중복 제거 및 집합 연산이 필요한 경우 Set을 활용하세요.
  • |, & 연산자로 간단한 연산이 가능하지만, 순서 무시 특성에 주의해야 합니다.
  • 리스트로 변환하여 순서를 임의로 정렬해야 하는 경우 list() 함수 사용 권장.