Set


Set

  • Set은 중복이 없는 요소들 (unique elements)로만 구성된 집합 컬렉션
  • Set은 Curly Brace { } 를 사용하여 컬렉션을 표현하는데, 내부적으로 요소들을 순서대로 저장하기 않기 때문에, 순서에 의존하는 기능들을 사용할 수 없다.
  • 만약 set을 정의할 때, 중복된 값을 입력하는 경우, set은 중복된 값을 한번만 가지고 있게 된다.
  • 리스트나 튜플 등을 set으로 변경하기 위해서는 set() 생성자를 사용한다. 이는 리스트에 중복된 값들이 있을 때, 중복 없이 Unique한 값만을 얻고자 할 때 유용하다.
# set 정의
myset = { 1, 1, 3, 5, 5 }
print(myset)    # 출력: {1, 3, 5}

# 리스트를 set으로 변환
mylist = ["A", "A", "B", "B", "B"]
s = set(mylist)
print(s)        # 출력: {'A', 'B'}

# 문자열을 set으로 변환
s2 = set("Hello")
print(s2)       # 출력: {'e', 'l', 'o', 'H'}

Set에서의 추가 및 삭제

  • add(), update()
  • remove(), discard()
  • clear()
myset = {1, 3, 5}

# 하나만 추가
myset.add(7)
print(myset)  # {1,3,5,7}

# 여러 개 추가
myset.update({4,2,10})
print(myset)  # {1,2,3,4,5,7,10}

# 하나만 삭제
myset.remove(1)
print(myset) # {2,3,4,5,7,10}

# 모두 삭제
myset.clear()
print(myset) # {}

집합 연산

  • a와 b가 set 일 때,

  • 교집합

    • a & b
    • a.intersection(b)
  • 합집합

    • a | b
    • a.union(b)
  • 차집합

    • a - b
    • a.difference(b)
a = {1, 3, 5}
b = {1, 2, 5}

# 교집합
i = a & b
# i = a.intersection(b)
print(i)   # {1, 5}

# 합집합
u = a | b
# u = a.union(b)
print(u)   # {1, 2, 3, 5}

# 차집합
d = a - b
# d = a.difference(b)
print(d)   # {3}

results matching ""

    No results matching ""