본문 바로가기

Data Science/Python

[python] 03.자료구조 | Set

4. Set

  • 구문
    •  { 값 , 값 , 값 } 
      - {  } 빈 set이 아니라 빈 dictionary를 생성
s2 = {1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,5,5,5,5}
s2 #중복을 허용하지 않아 unique value만 남긴다
> {1, 2, 3, 4, 5}


 s2[0] #개별 원소 조회 불가(식별자=index가 없음)

 

연산자

    • in, not in 연산자
      •  값 in Set 
        • Set의 원소로 값이 있으면 True, 없으면 False 반환
      •  값 not in Set 
        • Set의 원소로 값이 없으면 True, 있으면 False 반환
    • len(Set)
      • Set의 원소의 개수 반환
        1 in s2,10 in s2 > (True,False)

 

 

연산자

- 추가 : add, update
- 제거 : pop, remove

s2.add(6)
s2.update([10,20,30,40])
v = s2.pop()
s2.remove(20)

s2.remove(1000) # 없는 값 삭제 -> 예외(exception) 발생



Set의 집합연산 연산자 및 메소드

  • 합집합
    • 집합A | 집합B
    • 집합A.union(집합B)
  • 교집합
    • 집합A & 집합B
    • 집합A.intersection(집합B)
  • 차집합
    • 집합A - 집합B
    • 집합A.difference(집합B)
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}	

#합집합
set3 = set1 | set2
set4 = set1.union(set2)

#교집합
set5 = set1 & set2
set6 = set1.intersection(set2)


# 차집합
set7 = set1 - set2
set8 = set1.difference(set2)