1. Python 기초 문법(집합(set) 함수)

Date:

set(집합)

  • 수학에서 배운 집합
  • 합집합 교집합, 차집합 연산 가능

set 생성

  • 세트는 dictionary와 동일하게 중괄호({x1, x2, x3})으로 사용함
  • 순서 없음, 중복 없음

in (원소 확인)

  • sequence 자료형에서 사용했던 in 을 사용할 수 있음
  • 원소 in set()형식으로 사용
  • boolean로 결과값 출력

합집합

  • set.union(set1,set2) or set1|set2형식으로 사용
  • set.update({원소}) or set|={원소} 형식으로 원소를 추가 할 수 있음

교집합

  • set.intersection(set1,set2) or set1&set2형식으로 사용
  • set.intersection_update({원소}) or set&={원소} 형식으로 원소를 추가 할 수 있음

차집합

  • set.difference(set1,set2) or set1-set2형식으로 사용
  • set.difference_update({원소}) or set-={원소} 형식으로 원소를 추가 할 수 있음

대칭차집합

  • set.symmetric_difference(set1,set2) or set1^set2형식으로 사용
  • set.symmetric_difference_update({원소}) or set^={원소} 형식으로 원소를 추가 할 수 있음

image

부분집합

  • set1.issubset(set2) or set1<=set2형식으로 사용
  • 진부분집합의 경우 set1<set2형식으로 사용, 메소드는 따로 없음

상위집합

  • set1.issuperset(set2) or set1>=set2형식으로 사용
  • 진상위집합의 경우 set1>set2형식으로 사용, 메소드는 따로 없음

image ↳부분집합, 상위집합 설명

isdisjoint(서로소)

  • 두 집합의 서로소인지 확인
  • boolean 값으로 결과 반환
  • set1.isdisjoint(set2)형식으로 사용

add(요소추가)

  • 원소 자체를 추가함
  • 합집합과 다른점은 합집합 연산은 집합과 집합의 연산이고, add는 원소를 추가해줌
  • s.add(원소) 형식으로 사용

remove(요소 제거)

  • 원소 자체를 제거
  • 차집합과 다른점은 차집합은 집합과 집합의 연산이고, remove는 원소를 제거
  • s.remove(원소) 형식으로 사용
  • 삭제할 원소가 없으면 Error 발생

discard(요소 제거)

  • 원소 제거
  • s.discard(원소) 형식으로 사용
  • 삭제할 원소가 없으면 그냥 pass됨

pop(요소 추출)

  • 원소를 추출하고 집합에서 원소를 제거함
  • s.pop()형식으로 사용
  • 임의의 요소를 삭제
  • 요소가 없으면 Error 발생

clear

  • 세트를 비워줌

len

  • 집합 길이 반환

할당과 복사

  • list와 동일하게 set도 복사할 경우 메모리를 공유하여하 나를 변경하면, 다른 하나도 변경됨
  • set 복사 시 모든 원소를 하나씩 복사해줘야함
  • s.copy()를 사용하면 새롭게 메모리를 할당하여 할 수 있음
s1={1,2,3}
s2=s1
s3=s1.copy()
print(s1 is s2)
print(s1 is s3)

result :
True
False



📌reference

💡 수정 필요한 내용은 댓글이나 메일로 알려주시면 감사하겠습니다!💡 

Categories:

Updated:

댓글