1. 집합 표현방식


s1 = set([1,2,3])
print(s1) # {1,2,3}
s2 = set('python')
print(s2) # {'t','o','y','n','p','h'}   집합의 특징1 : 순서가 없다.
s3 = set('apple')
print(s3) # {'e','l','a','p'}   집합의 특징2 : 중복이 안된다.

 

  • 순서가 없다는 것은 index가 없다는 말이다. 따라서 인덱싱이나 슬라이싱을 통해서 값을 얻을 수 없다.
  • 리스트, 튜플 자료형은 순서가 있어 인덱싱,슬라이싱이 되었다. 딕셔너리, 집합 자료형은 순서가 없으므로 인덱싱, 슬라이싱이 되지 않는다.
l1 = list(s1) # 집합 s1을 리스트형으로 변환
print(l1) # [1,2,3]
t1 = tuple(s1) # 집합 s1을 튜플형으로 변환
print(t1) # (1,2,3)

 

 

 

2. 집합 활용방법


s1 = set([1,2,3,4,5])
s2 = set([4,5,6,7,8])

 

1) 교집합

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

 

2) 합집합

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

 

3) 차집합

print(s1-s2) # {1,2,3}
print(s2-s1) # {6,7,8}
print(s1.difference(s2)) # {1,2,3}
print(s2.difference(s1)) # {6,7,8}

 

 

 

3. 집합 관련 함수


s1 = set([1,2,3])

 

1) 값 1개 추가

s1.add(4) # 4 추가
print(s1) # {1,2,3,4}

 

2) 값 여러개 추가

s1.update([5,6,7]) # {5,6,7} 집합 추가
print(s1) # {1,2,3,4,5,6,7}

 

3) 값 제거

s1.remove(3) # 3 제거
print(s1) # {1,2,4,5,6,7}

+ Recent posts