컴공생 누르지 마세요! 컴공생 울어요.

[Python 문법 공부] 01. 자료형 - 집합 자료형 본문

STUDY/Python

[Python 문법 공부] 01. 자료형 - 집합 자료형

당도최고치악산멜론 2023. 3. 2. 21:35

집합 자료형

  • 리스트 or 문자열을 이용해서 만들 수 있음
  • 다음과 같은 특징 존재
    • 중복을 허용하지 않음
    • 순서가 없음
  • 사전 자료형과 집합 자료형은 순서가 없기 때문에 인덱싱 불가
  • 특정 원소가 존재하는지 검사하는 연산의 시간 복잡도는 O(1)
  • '특정한 데이터가 이미 등장한 적이 있는지 여부'를 체크할 때 효과적

집합 자료형의 초기화

  • set() 함수 이용
  • 중괄호 {} 안에 각 원소를 콤마 , 를 기준으로 구분해서 넣음
data = set([1, 1, 2, 3, 4, 4, 5])
print(data)
# 결과: {1, 2, 3, 4, 5}

data = {1, 1, 2, 3, 4, 4, 5}
print(data)
# 결과: {1, 2, 3, 4, 5}

집합 자료형의 연산

  • 합집합: |
  • 교집합: &
  • 차집합: -
a = set([1, 2, 3, 4, 5])
b = set([3, 4, 5, 6, 7])

print(a | b)
# 결과: {1, 2, 3, 4, 5, 6, 7}

print(a & b)
# 결과: {3, 4, 5}

print(a - b)
# 결과: {1, 2}

집합 자료형 관련 함수

  • add()
    • 집합에 하나의 값 추가
    • O(1) 시간 복잡도
  • update()
    • 집합에 여러 개의 값을 한 번에 추가
  • remove()
    • 집합에서 특정한 값을 제거
    • O(1) 시간 복잡도
data = set([1, 2, 3])

data.add(4)
print(data)
# 결과: {1, 2, 3, 4}

data.update([5, 6])
print(data)
# 결과: {1, 2, 3, 4, 5, 6}

data.remove(3)
print(data)
# 결과: {1, 2, 4, 5, 6}
Comments