카테고리 없음
2024.03.14 파이썬 - 컬렉션 타입(세트)
동동순이
2024. 3. 14. 16:29
1. 세트
세트(set)는 중복되지 않는 항목들의 컬렉션입니다.
s1 = {} # 파일을 넣지 않아서 기본적으로 딕셔너리로 인식
print(s1)
print(type(s1))
{}
<class 'dict'>
s1 ={1, 3, 5, 7}
print(s1)
print(type(s1))
{1, 3, 5, 7}
<class 'set'>
list항목을 만들어 세트로 변수를 내준다면 그것또한 데이터 타입은 set 이다.
s3 = {1,3,5,3,7,9,1} # 3,1이 중복되어서 하나씩 들어감
print(s3)
{1, 3, 5, 7, 9}
li2 = [1,3,5,3,7,9,1]
print(li2)
s4 = set(li2)
print(s4)
[1, 3, 5, 3, 7, 9, 1]
{1, 3, 5, 7, 9}
s1 = {100,200}
# add() : 세트에 요소를 추가, 데이터를 추가할때 순서가 없고 인덱싱할때 1,2,3 번이 없다
s1.add(150)
print(s1)
s1.add(50)
print(s1)
{200, 100, 150}
{200, 50, 100, 150}
s1 = {100,200}
# update() : 세트에 여러 요소를 추가, 이것또한 순서가 없다.
s1.update([40,50,60,20])
print(s1)
{100, 200, 40, 50, 20, 60}
s1 = {10,20,30}
# remove(): 세트의 요소를 제거, 단 요소가 없으면 에러가 발생
s1.remove(20)
print(s1)
# s1.remove(20)<-에러 발생#쓰는이유안에내가원하는데이터가있나없나알아낼수있다.
{10, 30}
s1 = {10,20,30}
# discard(): 세트의 요소를 제거, 단 요소가 없어도 에러가 발생하지 않음
s1.discard(20)
print(s1)
s1.discard(20)
print(s1)
{10, 30}
{10, 30}
s1 = {10,20,30}
#copy(): 세트를 복사
s2 =s1.copy() # s2 != s1 (!=) 다르다 라는뜻\
print(s1)
print(s2)
print(id(s1))
print(id(s2))
{10, 20, 30}
{10, 20, 30}
134464836711616
134464836710048
s1 = {10,20,30,40,50}
s2 = {30,40,50,60,70}
result1 = s1.union(s2) # unioon 집합에서 합집합의 뜻
print(result1)
result2= s1|s2 # | 합집합의 뜻
print(result2)
{70, 40, 10, 50, 20, 60, 30}
{70, 40, 10, 50, 20, 60, 30}
s1 = {10,20,30,40,50}
s2 = {30,40,50,60,70}
result1 = s1.intersection(s2) # 교집합을 나타내는 함수
print(result1)
result2 = s1 & s2
print(result2)
{40, 50, 30}
{40, 50, 30}
s1 = {10,20,30,40,50}
s2 = {30,40,50,60,70}
result1 = s1.difference(s2) #차집합
print(result1)
result2 = s1-s2
print(result2)
{10, 20}
{10, 20}
s1 = {10,20,30,40,50}
s2 = {30,40,50,60,70}
result1 = s1.symmetric_difference(s2) # 대칭차집합
print(result1)
result2 =s1^s2
print(result2)
{20, 70, 10, 60}
{20, 70, 10, 60}