728x90
이번에는 파이썬의 기본 자료형 중, 집합(set)에 대해 알아보겠습니다.
집합(set)
집합 자료형은 집합과 관련된 연산을 처리하기 위해 파이썬 2.3부터 지원하기 시작한 기본 자료형입니다.
집합 자료형은 set 키워드를 사용해서 생성이 가능합니다.
>>> s1 = set([1, 2, 3])
# {1, 2, 3}
>>> s2 = set('Hello')
# {'H', 'e', 'l', 'o'}
>>> s3 = set()
아무런 파라미터 없이 set()만으로 빈 집합을 생성할 수 있습니다.
집합 자료형의 특징은 다음과 같습니다.
- 원소의 중복을 허용하지 않습니다.
- 원소의 순서가 없습니다. (unordered)
순서가 없다는 두번째 특징 때문에 집합 자료형에서는 인덱스로 값을 접근할 수 없습니다.
인덱스로 접근하기 위해서는 집합을 리스트(list)나 튜플(tuple)로 형변환해서 사용해야 합니다.
>>> s = set([1, 2, 3])
>>> t = tuple(s)
>>> l = list(s)
집합의 연산
- 교집합 : & 연산이나 intersection() 함수를 사용하면 두 집합의 교집합을 구할 수 있습니다.
- 합집합 : | 연산이나 union() 함수를 사용하면 두 집합의 합집합을 구할 수 있습니다.
- 차집합 : - 연산이나 difference() 함수를 사용하면 두 집합의 차집합을 구할 수 있습니다.
- 원소 하나 추가하기 : add() 함수를 사용해서 한개의 원소를 추가할 수 있습니다.
- 원소 여러개 추가하기 : update() 함수를 사용해서 여러개의 원소를 추가할 수 있습니다.
- 특정값 제거하기 : remove() 함수를 사용해서 특정 원소를 삭제할 수 있습니다.
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
# {2, 3}
>>> s1.intersection(s2)
# {2, 3}
>>> s1 | s2
# {1, 2, 3, 4}
>>> s1.union(s2)
# {1, 2, 3, 4}
>>> s1 - s2
# {1}
>>> s2.difference(s1)
# {4}
>>> s1.add(99)
# {1, 2, 3, 99}
>>> s2.update([100, 101, 102])
# {2, 3, 4, 100, 101, 102}
>>> s1.remove(1)
# {2, 3, 99}
해당 게시물은 <점프 투 파이썬>을 읽고 제 나름대로 정리한 내용입니다!
더 구체적인 정보나, 추가적인 내용을 확인하고 싶으시면 <점프 투 파이썬>을 참고해주시기 바랍니다.
잘못된 부분 지적이나 피드백은 언제든지 환영입니다.
감사합니다 :)
728x90
'필기 노트 > Python 기초' 카테고리의 다른 글
[Python 기초] 기본 자료형 : 불(bool) (0) | 2020.07.10 |
---|---|
[Python 기초] 기본 자료형 : 딕셔너리 (dictionary) (0) | 2020.06.29 |
[Python 기초] 기본 자료형 : 튜플 (tuple) (0) | 2020.06.25 |
[Python 기초] 기본 자료형 : 리스트 (list) (0) | 2020.06.24 |
[Python 기초] 기본 자료형 : 숫자형(number), 문자열(string) (0) | 2020.06.22 |
댓글