set, 집합 연산, 원소 삽입, 원소 삭제, 원소 포함 여부
✔️ 빈 set
N = set()
>> set()
✔️ 문자열
N = set("Set")
>> {'e', 't', 'S'}
✔️ List
N = set(["L", "i", "s", "t"])
>> {'L', 't', 'i', 's'}
✔️ 교집합
setA = set([1, 2, 3, 4, 5])
setB = set([3, 4, 5, 6, 7, 8])
print(setA & setB)
>> {3, 4, 5}
print(setA.intersection(setB))
>> {3, 4, 5}
✔️ 합집합
setA = set([1, 2, 3, 4, 5])
setB = set([3, 4, 5, 6, 7, 8])
print(setA | setB)
>> {1, 2, 3, 4, 5, 6, 7, 8}
print(setA.union(setB))
>> {1, 2, 3, 4, 5, 6, 7, 8}
✔️ 차집합
setA = set([1, 2, 3, 4, 5])
setB = set([3, 4, 5, 6, 7, 8])
print(setA - setB) # setA에서 setB 빼기
>> {1, 2}
print(setA.difference(setB))
>> {1, 2}
print(setB - setA) # setB에서 setA 빼기
>> {8, 6, 7}
print(setB.difference(setA))
>> {8, 6, 7}
✔️ add
N = set([1, 2, 3, 4])
N.add(3) # set은 중복 허용하지 않음
>> {1, 2, 3, 4}
N.add('a') # 원소 하나 추가
>> {1, 2, 3, 4, 'a'}
✔️ update
N = set([1, 2, 3, 4])
N.update(['a', 'b', 3]) # 원소 여러개 추기
>> {1, 2, 3, 4, 'b', 'a'}
✔️ remove
N = set([1, 2, 3, 4, 'a'])
N.remove('a') # 특정 원소 삭제
>> {1, 2, 3, 4}
N.remove('b') # 없는 원소를 삭제하려고 하면 에러 발생
>> KeyError: 'b'
✔️ discard
N = set([1, 2, 3, 4, 'a'])
N.discard('a') # 특정 원소 삭제
>> {1, 2, 3, 4}
N.discard('b') # 원소가 없어도 에러 발생하지 않음
>> {1, 2, 3, 4}
✔️ pop
N = set([1, 2, 3, 4, 'a'])
print(N.pop())
>> 1 # 임의의 원소 삭제
print(N)
>> {2, 3, 4, 'a'}
✔️ clear
N = set([1, 2, 3, 4, 'a'])
N.clear() # 모든 원소 삭제 - 초기화
>> set()
✔️ in
N = set([1, 2, 3, 4, 'a'])
print(3 in N)
>> True
print('c' in N)
>> False