세트

  • 데이터 중복을 허용하지 않음
  • 순서 상관없는 데이터 집합
  • 인덱싱으로 값을 접근할 수 없음
print(type({1, 2, 3}))
print({30, 10, 20, 40})
print({1, 1, 2, 2, 3, 4, 4})
<class 'set'>
{40, 10, 20, 30}
{1, 2, 3, 4}

세트 연산자

set_1 = {10, 20, 20, 30}
set_2 = {30, 30, 40, 50}

# 교집합
print(set_1 & set_2)

# 합집합
print(set_1 | set_2)

# 차집합
print(set_1 - set_2)
print(set_2 - set_1)

# 여집합
print(set_1 ^ set_2)
{30}
{50, 20, 40, 10, 30}
{10, 20}
{40, 50}
{40, 10, 50, 20}

세트 메소드

|세트 메소드|설명| |:—:|:—:| |intersection()|교집합| |union()|합집합| |difference()|차집합| |symmetric_difference()|여집합| |add()|요소 추가| |update()|여러개의 요소 추가| |remove()|요소 제거(없으면 오류반환)| |discard()|요소 제거(없어도 정상실행)| |clear()|모든 요소 제거|

set_1 = {10, 20, 20, 30}
set_2 = {30, 30, 40, 50}

print(set_1.intersection(set_2))

print(set_1.union(set_2))

print(set_1.difference(set_2))
print(set_2.difference(set_1))

print(set_1.symmetric_difference(set_2))

set_1.add(50)
print(set_1)

set_1.update([60, 70])
print(set_1)

set_1.remove(60)
print(set_1)
# set_1.remove(1000) # 오류발생

set_1.discard(70)
print(set_1)
set_1.discard(1000) # 정상 실행
print(set_1)

set_1.clear()
print(set_1)
{30}
{50, 20, 40, 10, 30}
{10, 20}
{40, 50}
{40, 10, 50, 20}
{10, 20, 50, 30}
{70, 10, 50, 20, 60, 30}
{70, 10, 50, 20, 30}
{10, 50, 20, 30}
{10, 50, 20, 30}
set()

카테고리:

업데이트:

댓글남기기