(Python) Set 집합

파이썬 자료구조 형에는  list, dictionary, set 등 여러가지 자료구조가 존재한다.
그 중 중복된 자료를 포함하지 않는다는 특징을 가지고 있는 set에 대해 설명하겠다.

1. union

2. difference

만약 두 종류의 String형의 자료가 존재한다고 가정해보자.

vowels = 'aeiou'
word = 'hello'

위 두 자료에서 서로 포함하고 있지 않는객체를 구하고 싶다면 (차집합) difference를 이용하면 된다.
중요한 것은 for문을 사용하지 않고 두 객체의 차이를 구했다는 것이다.
물론 내부적으로는 for문이 사용될 것이라고 생각한다.


위 결과는 vowels에는 포함되어 있지만, word집합에는 포함하고 있지 않다.
수학에서 말하는 "차집합"이라고 보면된다.  difference를 호출하는 첫번째 쪽인 vowels를 기준으로 결과를 도출한다.

3. intersection

세 번째 집합메소드는 한 집합을 다른 집합메소드와 비교하여 어떤 공통 객체가 있는지 알려주는 intersection이다.








정리 


  • 파이썬의 집합은 중복을 허용하지 않는다.
  • 딕셔너리처럼 set도 중괄호로 표기합니다. 하지만 딕셔너리는 키/값이 있는 반면 집합에는 키/값 쌍이 없어요. 대신 집합의 고유 객체를 콤마로 분리합니다.
  • 딕셔너리처럼 집합도 순서를 유지하지 않습니다.
  • 순서를 유지하지 않기 때문에 sorted 함수를 이용하면 시퀀스에 있는 객체를 포함하는 집합이 만들어진다. 이때 중복된 데이터는 제거된다.



댓글

이 블로그의 인기 게시물

(18장) WebSocekt과 STOMP를 사용하여 메시징하기

(네트워크)폴링방식 vs 롱 폴링방식

(ElasticSearch) 결과에서 순서 정렬