https://fastcampus.co.kr/courses/213915
커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스
성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.
fastcampus.co.kr
집합을 언제 쓰는지를 예시로 살펴보면
2개의 리스트 중 공통적으로 갖고 있는 원소가 뭐가 있는지 찾고싶을 때 사용할 수 있다.( 교집합 )
그리고 두개의 리스트에 어떤 원소들이 들었는지 모두 찾고싶을 때 사용할 수 있다. ( 합집합 )
위에서 나온 예시들을 보면 알 수 있듯이 파이썬에서 나오는 집합은
우리가 알고 있는 수학의 집합과 같은의미라고도 볼 수 있다.
그리고 집합은 {} 중괄호를 사용하고 아래 2가지의 특징이 있다.
1. 집합은 원소의 중복을 허용하지 않는다. 즉, 원소의 종류를 나타내기 좋다.
2. 집합은 원소의 순서가 존재하지 않는다. 즉, 원소의 Index가 없다.
따라서 이 전에 배웠던 리스트, 배열 형태로 접근이 불가능하다.
S = { 1,2,3 }
S[1] 를 작성하고 실행시켜보면 아래와같은 에러가 발생한다.
그리고 이제 교집합, 합집합, 차집합의 예시를 들어본다.
S1 = {1,2,3,4,5}
S2 = {3,4,5,6,7}
* 교집합
S1 & S2 -> { 3,4,5, }
* 합집합
S1 | S2 -> { 1,2,3,4,5,6,7 }
* 차집합
S1 - S2 -> { 1,2 }
S2 - SE -> { 6,7 }
* 공집합
S1 = set()
만약 2개의 리스트가 있는데 리스트 내부에 있는 내용들도 겹쳐있는 내용을 보고싶거나
어떤 원소들이 모여있는지를 확인하고 싶을때는 어떻게 해야할까?
리스트를 집합으로 변형해준 뒤에 교집합 합집합 방식으로 결과를 추출해주면 가능하다.
그 방식으로는 Set이라는 함수를 사용해줄 수 있다.
Ex ) L = [ 1,2,3,4,5,5,6,7,8,8]
Set ( L ) -> L = { 1,2,3,4,5,6,7,8 }
위와같은 형식으로 변형해서 사용해주면 리스트끼리도 교집합, 합집합 등을 찾아낼 수 있다.
마지막으로 집합에서 사용할 수 있는 함수 3가지를 아래에 소개한다.
* 집합에 원소 한개 추가하기 ( add() )
s.add(1) or s.add(45) ...
* 집합에 여러 원소 추가하기
s = { 4,5,6 }
s.update( {1,2} ) -> s = { 1,2,4,5,6 }
* 집합에서 원소 제거하기 ( remove() )
s = { 4,5,6 }
s.remove( 4 ) -> s = { 5,6 }
'Program > 파이썬' 카테고리의 다른 글
[Python] 반복문 ( for ) (0) | 2023.01.07 |
---|---|
[Python] 반복문 ( While ) (0) | 2023.01.07 |
[Python] 조건문(If) (0) | 2023.01.06 |
[Python] 사전(Dictionary) (0) | 2023.01.04 |
[Python] 리스트(List ), 튜플(Tuple) (0) | 2023.01.02 |