728x90
반응형

집합 자료형

  • 집합에 관련된 것들을 쉽게 처리하기 위해 만들어진 자료형
  • 중복을 허용하지 않는다.
  • 순서가 없다(Unordered)

 

순서가 없기 때문에 인덱싱으로는 값을 얻을 수 없음 

s1 = set([1,2,3])
l1 = list(s1)
print('lsit s1: ',l1)

t1 = tuple(s1)
print('tuple s1 : ',t1)
print('t1[0] : ',t1[0])

[그림1] 순서가 없기 대문에 인덱싱 값 얻을 수 없음

 

 

교집합

# 방법 1
s1 = set([1,2,3,4,5,6])
s2 = set([4,5,6,7,7,9])
print('s1 과 s2의 교집합은 방법 1: ',s1&s2)

# 방법 2
print('s1 과 s2의 교집합은 방법 2 : ',s1.intersection(s2))

[그림2] 교집합

 

합집합

# 합집합 
s1 = set([1,2,3,4,5,6])
s2 = set([4,5,6,7,7,9])

# 방법 1
print('s1 과 s2의 합집합은 방법 1 : ',s1|s2)


# 방법 2
print('s1 과 s2의 합집합은 방법 2 : ',s1.union(s2))

[그림3] 합집합

 

 

차집합

# 차집합
s1 = set([1,2,3,4,5,6])
s2 = set([4,5,6,7,7,9])

# 방법 1
print('s1과 s2의 차집합은 방법1 : ',s1-s2)
print('s1과 s2의 차집합은 방법1 : ',s2-s1)

# 방법 2
print('s1과 s2의 차집합은 방법2 : ',s1.difference(s2))
print('s1과 s2의 차집합은 방법2 : ',s2.difference(s1))

[그림4] 차집합

 

 

값 추가하기

# 값 추가하기

# 값 1개 추가 = add
s1 = set([1,2,3])
s1.add(4)
print('s1 : ',s1)

# 값 여러 개 추가하기 (upadate)

s2=  set([1,2,3])
s2.update([4,5,6])
print('s2 : ',s2)

[그림5] 값 추가하기

 

특정 값 제거하기

s1 = set([1,2,3])
print('제거전 s1 : ',s1)
s1.remove(2)
print('제거후 s1 : ',s1)

[그림6] 특정 값 제거하기

 

 

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기