신규 블로그를 만들었습니다!
집합 자료형 Set
파이썬 2.3부터 지원된 자료형으로 중복이 없고, 집합형태의 자료형을 편리하게 관리 할 수 있도록 만들어진 자료형입니다. 사용을 할때는 set()과 같이 메소드 형태로 사용할 수 있습니다. 간단한 예제를 살펴보면
my_set = set([1,2,3])
print(type(my_set))
print(my_set)
중복된 값이 없는 특징
처음에 중복이 없다고 했는데, 말만 들어서는 무슨 소린지 모를 수 있습니다. 집합의 자료형의 가장 큰 특징은 중복이 없다는 것일텐데, 예제를 통해 살펴보면...
my_str = "Hello"
my_set = set(my_str)
print(my_set)
위와 같이 Hello라는 글자에는 l 이라는 문자가 2개가 들어 있습니다. 하지만, 결과값을 확인해보면 l은 하나만 출력되는 것을 확인 할 수있습니다. 이와 같이 set()을 이용하게 되면 중복된 값은 제거해주고 하나만 남겨주는 특징 있습니다.
중복이 없는 특징 때문에, 특정한 여러개의 데이터를 필터링 할때 사용하기 편리합니다.
순서가 없는 특징
두번째 특징으로는 순서가 없다는 것입니다. 리스트를 만들어서 임의의 순서대로 숫자를 넣어보도록 하겠습니다. 그리고 set()을 이용해 집합의 형태로 바꿔서 리스트와 집합을 각각 출력해봅시다.
my_list = [5,6,3,4,1]
print(my_list)
my_set = set(my_list)
print(my_set)
사진과 같이 순서가 다르게 나오는 것을 확인 할 수 있습니다.
그리고, 좀 더 생각해보면 집합자료형은 순서라는것이 없기 때문에, indexing을 할 수 없다는 특징이 있습니다.
집합의 연산
어렸을적 중학생때 집합을 배웠을텐데, 집합에는 교집합, 합집합과 같은 집합 연산이 있었습니다. 교집합은 2개의 집합 중 동일한 값만을 가져오는 것이고, 합집합은 2개의 집합을 합치는것과 같았습니다.
코드를 통해 살펴보겠습니다.
my_set1 = set([1,2,3])
my_set2 = set([2,3,4,5,6])
print(my_set1 & my_set2)
print(my_set1 | my_set2)
결과를 보면 알 수 있듯이 교집합을 했을때와 합집합을 했을때 &와 |를 이용해서 파이썬 코드로 표현 할 수 있습니다.
이 밖에도 차집합도 표현이 가능합니다. 차집합은 -(마이너스) 연산자를 이용합니다.
my_set1 = set([1,2,3])
my_set2 = set([2,3,4,5,6])
print(my_set2 - my_set1)
print(my_set1 - my_set2)
집합의 값 추가 및 삭제
집합에 값을 추가하거나 삭제 하는 것도 가능합니다. 추가를 할때는 add() 메소드를 사용하고, 삭제를 할때는 remove() 메소드를 사용합니다.
Reference
관련 글 보러가기
2018/09/19 - [Language/Python] - Python :: 파이썬 튜플(Tuple) 자료형 개념과 사용방법
2018/09/27 - [Language/Python] - Python :: 파이썬3 requests 모듈 살펴보기(설치, 사용방법 및 예제)
2018/10/03 - [Language/Python] - Python :: 파이썬 딕셔너리(Dictionary) 사전 개념 및 사용방법
다른 글 보러가기
2018/10/04 - [ETC] - 티스토리 블로그에 프로그래밍 코드 예쁘게 올리기(Highlight 적용 방법)
2018/10/10 - [사는얘기/일상] - 스마트 워치, 삼성 갤럭시 워치 구매 및 개봉, 사용후기(Galaxy watch)
2018/10/19 - [WEB] - CSS :: 버튼(Button) 예쁘게 꾸미기, 여러개의 버튼 그룹화 하기
2018/10/13 - [Language/Python] - Python :: 파이썬 난수 만들기/ 랜덤한 숫자, 문자열 만들기/ 비밀번호 만들기
'Language > Python' 카테고리의 다른 글
Python :: 파이썬3 디렉토리 및 파일 삭제, os 모듈과 shutil 모듈 사용하기 (0) | 2018.10.26 |
---|---|
Python :: 파이썬에서 private과 public 변수 사용하기(파이썬의 범위 scope) (0) | 2018.10.21 |
Python :: 파이썬 난수 만들기/ 랜덤한 숫자, 문자열 만들기/ 비밀번호 만들기 (5) | 2018.10.13 |
Python :: 파이썬 딕셔너리(Dictionary) 사전 개념 및 사용방법 (0) | 2018.10.03 |
Python :: 파이썬3 requests 모듈 살펴보기(설치, 사용방법 및 예제) (0) | 2018.09.27 |
최근댓글