- Python 기초 문법(집합(set) 함수)
Date:
set(집합)
- 수학에서 배운 집합
- 합집합 교집합, 차집합 연산 가능
set 생성
- 세트는 dictionary와 동일하게 중괄호(
{x1, x2, x3}
)으로 사용함 - 순서 없음, 중복 없음
in (원소 확인)
- sequence 자료형에서 사용했던 in 을 사용할 수 있음
원소 in set()
형식으로 사용- boolean로 결과값 출력
합집합
set.union(set1,set2)
orset1|set2
형식으로 사용set.update({원소})
orset|={원소}
형식으로 원소를 추가 할 수 있음
교집합
set.intersection(set1,set2)
orset1&set2
형식으로 사용set.intersection_update({원소})
orset&={원소}
형식으로 원소를 추가 할 수 있음
차집합
set.difference(set1,set2)
orset1-set2
형식으로 사용set.difference_update({원소})
orset-={원소}
형식으로 원소를 추가 할 수 있음
대칭차집합
set.symmetric_difference(set1,set2)
orset1^set2
형식으로 사용set.symmetric_difference_update({원소})
orset^={원소}
형식으로 원소를 추가 할 수 있음
부분집합
set1.issubset(set2)
orset1<=set2
형식으로 사용- 진부분집합의 경우
set1<set2
형식으로 사용, 메소드는 따로 없음
상위집합
set1.issuperset(set2)
orset1>=set2
형식으로 사용- 진상위집합의 경우
set1>set2
형식으로 사용, 메소드는 따로 없음
↳부분집합, 상위집합 설명
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
💡 수정 필요한 내용은 댓글이나 메일로 알려주시면 감사하겠습니다!💡
댓글