집합
set_name = {elements}
위와 같이 중괄호 안에 요소를 입력하여 생성
예시 )
set1 = {1,2,3}
set2 = {123}
set3 = {'air'}
print(set1)
# {1,2,3}
print(set2)
# {123}
print(set3)
# {'air'}
괄호 안에 요소들을 입력하여 set을 만들 수 있음
set_name = set(iterable)
아래의 예시 참고
set_1 = set([1,2,3])
set_2 = set(123)
set_3 = set('air')
print(set_1)
# {1,2,3}
# iterable인 list가 들어와서 set 함수 적용 가능
print(set_2)
# TypeError: 'int' object is not iterable
# 숫자 데이터는 iterable이 아니므로 set 함수안에 들어갈 수 없음
print(set_3)
# {'i','a',r'}
# str은 iterable
# 중괄호를 사용해서 set을 만들었을 때와 다른 결과가 나옴
예시)
a = set('abcde')
b = {'a','b','c','d','e'}
d = set([1,2,3,4])
print(a)
# {'d', 'c', 'b', 'e', 'a'}
# 순서대로 저장되지 않음
print(b)
# {'d', 'a', 'c', 'b', 'e'}
# 순서대로 저장되지 않음
for c in b :
print (c)
# d
# a
# c
# b
# e
# for문으로 set을 가져올 때 요소 무작위 순서로 나옴
print(d[0])
# TypeError: 'set' object does not support indexing
# indexing 없음
예시)
set_a = {123,123}
set_b = set([123,123])
set_c = set('apple')
print(set_a)
# {123}
print(set_b)
# {123}
print(set_c)
# {'e', 'l', 'p', 'a'}
append는 사용 불가
아래의 예시와 같이 사용 - 한개의 값만 추가 가능
a= {1,2,3,4}
a.add(5)
print(a)
# {1, 2, 3, 4, 5}
a.add("100")
print(a)
# {1, 2, 3, 4, 5, '100'}
a.append(10)
# AttributeError: 'set' object has no attribute 'append'
# append는 사용 불가능
여러개의 값을 한번에 추가 가능
.update(iterable)
e= {1,2,3,4}
e.update([100,150])
print(e)
# {1, 2, 3, 100, 4, 150}
update에서는 괄호 안에 입력할 수 있는 종류가 다르기 때문에 주의 필요
또한 괄호안에 같은 str이 들어가도 결과가 다음
아래의 예시를 보며 확인가능
e= {1,2,3,4}
e.update(1)
# TypeError: 'int' object is not iterable
e.add([10])
# TypeError: unhashable type: 'list'
e.update('air')
print(e)
# {1, 2, 3, 4, 'i', 'a', 'r'}
e.add('air')
print(e)
# {1, 2, 3, 4, 'air'}
a= {1,2,3,4}
a.remove(3)
print(a)
# {1, 2, 4}
set에 어떠한 값이 포함되어 있는지 아닌지 찾아보는 것
아래의 예시와 같이 사용
포함되어 있으면 True/ 포함되어 있지 않으면 False
num = {1,5,3,2,6,7,9,10}
a = 5 in num
print (a)
# True
b = 8 in num
print(b)
# False
아래의 예시 참고
num = {1,2,3,4,5}
num2 = {4,5,6,7,8,9}
a = num&num2
print(a)
# {4,5}
set1.intersection(set2)
num = {1,2,3,4,5}
num2 = {4,5,6,7,8,9}
a = num.intersection(num2)
print(a)
# {4,5}
중복값 제거됨
아래의 예시 참고
num = {1,2,3,4,5}
num2 = {4,5,6,7,8,9}
a = num|num2
print(a)
# {1, 2, 3, 4, 5, 6, 7, 8, 9}
set1.union(set2)
중복값 제거됨
num = {1,2,3,4,5}
num2 = {4,5,6,7,8,9}
a = num.union(num2)
print(a)
# {1, 2, 3, 4, 5, 6, 7, 8, 9}
차집합은 - 를 이용하여 구할 수 있음
num = {1,2,3,4,5}
num2 = {4,5,6,7,8,9}
a = num-num2
b = num2-num
print(a)
# {1, 2, 3}
print(b)
# {8, 9, 6, 7}