pocket

[Python] 집합(set) 자료형 본문

Python

[Python] 집합(set) 자료형

jpocket 2025. 3. 31. 16:46
반응형

1. 집합(set) 자료형 개념

어떤 값들의 모임일 뿐 순서는 없다.

  • 중괄호{} 안에 value를 넣고 콤마,로 구분
    집합명 = {value1, value2, value3, ...}
  • set() 괄호 안에 리스트나 문자열을 입력해서 만들 수도 있다.
  • 집합은 값을 포함하고 있느냐 아니냐만 중요해서,
    중복은 허락하지 않으며 순서도 별 의미 없다.

 

 

집합(set) 자료형 형식

# 중괄호{} 안에 value를 넣고 콤마,로 구분해 준다.
# 중복은 허락되지 않는다.
asia = {'korea', 'china', 'japan', 'korea'}
asia
{'china', 'japan', 'korea'}

 

- 중복 제거하기위한 필터 역할로 종종 사용

- 헷갈리는 개념 

a = set() // set() 활용
a = {} // 빈 dictionary 활용
 

 

 

 

1. 문자열 넣어보기

# set() 활용
# 문자열 넣어보기
a = set('hello')
a
{'e', 'h', 'l', 'o'}

 

 

2. 리스트 넣어보기

# set() 활용
# 리스트 넣어보기
a = set([1, 2, 3])
a
{1, 2, 3}

 

 

3. 튜플 넣어보기

# set() 활용
# 튜플 넣어보기
a = set((11, 13, 15))
a
{11, 13, 15}

 

 

4. 딕셔너리 넣어보기

# set() 활용
# 딕셔너리 넣어보기
a = set({'name':'규봉이', 'breed':'진돗개', 'color':'brown'})
a
{'breed', 'color', 'name'}

 

- key만 집합의 요소가 되어 나온다.

 

 

2) 집합 연산

 

 

- 모르는 것만 정리

# 배타적 차집합 기호
a^b
# 배타적 차집합 함수
a.symmetric_difference(b)

 

 

 

3) 집합 관련 함수

  • add() : 원소 한 개 추가하기
  • update() : 원소 여러 개 추가하기
  • remove() : 특정 값 한 개 제거하기

 

집합 관련 함수 형식

a.add(2)

a.update([4,5,6])

a.remove(2)

이런 식으로 사용한다. 

 

반응형