신규 블로그를 만들었습니다!

2020년 이후부터는 아래 블로그에서 활동합니다.

댓글로 질문 주셔도 확인하기 어려울 수 있습니다.

>> https://bluemiv.tistory.com/

집합 자료형 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

https://wikidocs.net/1015

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

 

관련 글 보러가기

2018/09/19 - [Language/Python] - Python :: 파이썬 튜플(Tuple) 자료형 개념과 사용방법

2018/09/27 - [Language/Python] - Python :: 파이썬3 requests 모듈 살펴보기(설치, 사용방법 및 예제)

 

Python :: 파이썬3 requests 모듈 살펴보기(설치, 사용방법 및 예제)

Python3 requests 모듈 API를 사용할 때, 주로 사용하곤 하는 requests 모듈에 대해 살펴보려 합니다. 사용하는 방법은 매우 쉽습니다. 사용을 할때는 보통 HTTP 메소드(method, 또는 함수)의 GET 과 POST를 사용..

hongku.tistory.com

2018/10/03 - [Language/Python] - Python :: 파이썬 딕셔너리(Dictionary) 사전 개념 및 사용방법

 

Python :: 파이썬 딕셔너리(Dictionary) 사전 개념 및 사용방법

딕셔너리 앞에서 리스트와 튜플을 알아보았습니다. 그 밖에도 파이썬에는 딕셔너리(Dictionary)라는 자료형이 있습니다. 파이썬 사전 자료형을 이용하면 가독성을 높일 수 있다는 장점이 있습니다. 무슨 소리냐..

hongku.tistory.com

 

다른 글 보러가기

2018/10/04 - [ETC] - 티스토리 블로그에 프로그래밍 코드 예쁘게 올리기(Highlight 적용 방법)

2018/10/10 - [사는얘기/일상] - 스마트 워치, 삼성 갤럭시 워치 구매 및 개봉, 사용후기(Galaxy watch)

2018/10/19 - [WEB] - CSS :: 버튼(Button) 예쁘게 꾸미기, 여러개의 버튼 그룹화 하기

2018/10/13 - [Language/Python] - Python :: 파이썬 난수 만들기/ 랜덤한 숫자, 문자열 만들기/ 비밀번호 만들기

 

Python :: 파이썬 난수 만들기/ 랜덤한 숫자, 문자열 만들기/ 비밀번호 만들기

난수 만들기 난수를 만들기 위해, string 모듈과 random 모듈을 이용합니다. string의 digits와 random의 choice()를 사용합니다. (본 글의 예제는 Python 3.7 버전과 sublime text 3을 이용해서 진행했습니다.) r..

hongku.tistory.com

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기