Python Basic _ 3-6. Set

WONY_yoon·2025년 10월 3일
post-thumbnail

Python Set 알아보기

# chapter03-6
# 집합(set) 특징
# 집합(set) 자료형(순서x, 중복x, 수정o, 삭제o)

# 선언
a = set()
b = set([1, 2, 3, 4])
c = set([1, 4, 5, 6])
d = set([1, 2, 'pen', 'cap', 'plate'])
e = {'foo', 'bar', 'baz', 'foo', 'qux'}   # 중복 'foo' 제거됨
f = {42, 'foo', (1, 2, 3), 3.14159}       # set은 변경 불가능한 자료형만 포함 가능

print('a - ', type(a), a, 2 in a)    # <class 'set'> set() False
print('b - ', type(b), b, 2 in b)    # <class 'set'> {1,2,3,4} True
print('c - ', type(c), c)            # {1,4,5,6}
print('d - ', type(d), d)            # {1,2,'pen','cap','plate'}
print('e - ', type(e), e)            # {'bar','foo','baz','qux'}
print('f - ', type(f), f)            # {42,'foo',(1,2,3),3.14159}

print()

# 튜플 변환
t = tuple(b)
print('t - ', type(t), t)        # <class 'tuple'> (1,2,3,4)
print('t - ', t[0], t[1:3])      # 1 (2,3)

print()

# 리스트 변환
l1 = list(c)
l2 = list(e)

print('l1 - ', l1)   # [1,4,5,6]
print('l2 - ', l2)   # ['bar','foo','baz','qux'] (순서는 보장X)

print()

# 길이
print(len(a))   # 0
print(len(b))   # 4
print(len(c))   # 4
print(len(d))   # 5
print(len(e))   # 4
print(len(f))   # 4

print()

# 집합 자료형 활용
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])

print('s1 & s2 : ', s1 & s2)                     # {4,5,6}
print('s1 & s2 :', s1.intersection(s2))          # {4,5,6}

print('s1 | s2 : ', s1 | s2)                     # {1,2,3,4,5,6,7,8,9}
print('s1 | s2 :', s1.union(s2))                 # {1,2,3,4,5,6,7,8,9}

print('s1 - s2 : ', s1 - s2)                     # {1,2,3}
print('s1 | s2 : ', s1.difference(s2))           # {1,2,3}

print()

# 중복 원소 확인 / True or False
print('s1 & s2 : ', s1.intersection(s2))         # {4,5,6}

# 부분집합 확인
print('subset : ', s1.issubset(s2))              # False
print('superset : ', s1.issuperset(s2))          # False

print()

# 추가 & 제거
s1 = set([1, 2, 3, 4])
print('s1 - ', s1)       # {1,2,3,4}
s1.add(5)
print('s1 - ', s1)       # {1,2,3,4,5}

s1.remove(2)
print('s1 - ', s1)       # {1,3,4,5}

s1.discard(3)            # 3 제거
print('s1 - ', s1)       # {1,4,5}
s1.discard(2)            # 없는 값 제거 → 오류 없음
print('s1 - ', s1)       # {1,4,5}
s1.clear()
print('s1 - ', s1)       # set()

# 리스트도 clear 가능
a = [1, 2, 3, 4, 5]
print('a - ', a)         # [1,2,3,4,5]
a.clear()
print('a - ', a)         # []

0개의 댓글