Python 기초 - 7. 자료형(집합 set)

2023. 3. 22. 22:43language/Python

집합(set)


집합(set)은 집합에 관련된 것을 쉽게 처리하기 위해 사용하는 자료형 입니다.

 

 

사용


a = [1,2,3,4,5,3,4,2,1,2,4,2,3,1,4,1,5,1]

a_set = set(a)

 

 

특징


  • 집합은 중복을 허용하지 않기 때문에 중복을 제거하기 위한 필터로도 많이 사용됩니다.
a = [1,2,3,4,5,3,4,2,1,2,4,2,3,1,4,1,5,1]

a_set = set(a)

print(a_set)

>> {1, 2, 3, 4, 5}

 

  • 집합은 요소에 순서가 없기 때문에 인덱싱이 불가능합니다.
  • 하지만 리스트나 튜플로 변환을 하면 인덱싱이 가능합니다.
a = [1, 2, 3, 4, 5, 3, 4, 2, 1, 2, 4, 2, 3, 1, 4, 1, 5, 1]

a_set = set(a)

print(a_set[0])

>> TypeError: 'set' object is not subscriptable


#리스트로 변환 후
a = [1, 2, 3, 4, 5, 3, 4, 2, 1, 2, 4, 2, 3, 1, 4, 1, 5, 1]

a_set = set(a)

list_a_set = list(a_set)

print(list_a_set[0])

 

 

집합(set)의 교집합, 합집합, 차집합


집합(set) 자료형으로 교집합, 합집합, 차집합을 구할 수 있습니다.

 

  • 교집합
a = ['사과', '감', '수박', '참외', '딸기']
b = ['사과', '멜론', '청포도', '토마토', '참외']

set_a = set(a)
set_b = set(b)

# 교집합
set_c = set_a & set_b	
print(set_c)  

>> {'참외', '사과'}

 

  • 합집합
a = ['사과', '감', '수박', '참외', '딸기']
b = ['사과', '멜론', '청포도', '토마토', '참외']

set_a = set(a)
set_b = set(b)

# 합집합
set_d = set_a | set_b	
print(set_d)  

>> {'토마토', '사과', '참외', '멜론', '청포도', '딸기', '수박', '감'}

 

  • 차집합
a = ['사과', '감', '수박', '참외', '딸기']
b = ['사과', '멜론', '청포도', '토마토', '참외']

set_a = set(a)
set_b = set(b)

#차집합
set_e = set_a - set_b
print(set_e)