파이썬은 서로 다른 세트를 합칠 수 있다 이것을 조인 결합 join 이라 한다. 파이썬 조인은 세트 컬렉션의 특성을 따른다. 중복값을 배제하거나 중복값만 출력할 수 있다. 메서드명은 조금 복잡하지만, 이 기능을 익히면 코딩할 때 불필요한 작업을 피할 수 있다.
파이썬 세트 결합과 합치기
Python Set Join
파이썬 세트를 다루면서 이미 알고 있는 하나가 있다.
바로 Set.update() 함수를 사용하는 방법이다.
Set.update() 함수를 사용하면 서로 다른 세트를 결합할 수 있고, 다른 컬렉션 또한 결합할 수 있다.
원본 세트 데이터에 다른 세트 데이터를 결합하는 것은 update() 함수 외에도 몇가지가 더 있다.
update() 함수 이용하여 결합하기
update() 함수는 이미 여러차례 사용했지만 다시 한번 보고 넘어가자.
파이썬 세트 결합을 위해 자주 사용하는 함수가 update() 일 것이다.
파이썬 세트 update() 함수는 원본 세트 데이터에 다른 세트 데이터를 추가로 결합하는 것이다.
사용법은 Set.update( 세트데이터 ) 이다.
print('----------')
vSet_Company = {"Blank Pink", "YG Ent.", "블랙핑크"}
vSet_Member = {"Blank Pink", "지수", "제니", "로제", "리사"}
vSet_Company.update(vSet_Member)
print("세트 Set update : ", type(vSet_Company), len(vSet_Company), vSet_Company)
print('----------')
서로 다른 세트끼리 결합은 되었지만 중복되는 값은 하나만 출력되는 것을 알 수 있다.
union() 함수 이용하여 결합하기
update() 함수와는 다르게 서로 다른 세트 데이터가 결합하면 새로운 결합 데이터를 만든다.
이것이 union() 함수의 역할이다.
새로운 결합 데이터를 리턴하기 때문에 별도의 변수에 넣어야 한다.
print('----------')
vSet_Company = {"Blank Pink", "YG Ent.", "블랙핑크"}
vSet_Member = {"Blank Pink", "지수", "제니", "로제", "리사"}
vSet = vSet_Company.union(vSet_Member)
print("세트 Set union : ", type(vSet), len(vSet), vSet)
print('----------')
새로운 세트 데이터를 만들고 출력을 해 본 결과이다.
update() 한 결과와 같지만 세트 데이터 자체는 새롭게 만들어 진 것과 차이가 있다.
intersection_update() 함수 이용하여 결합하기
원본 파이썬 세트 데이터와 새로운 세트 데이터를 결합했을 때
중복된 데이터만 출력할 수 있다.
intersection_update() 함수를 사용하면 서로 다른 세트 데이터 결합시
중복된 데이터만 추출할 수 있다.
print('----------')
vSet_Company = {"Blank Pink", "YG Ent.", "블랙핑크"}
vSet_Member = {"Blank Pink", "지수", "제니", "로제", "리사"}
vSet_Company.intersection_update(vSet_Member)
print("세트 Set intersection_update : ", type(vSet_Company), len(vSet_Company), vSet_Company)
print('----------')
서로 다른 세트 데이터를 intersection_update() 함수로 결합해 본 결과이다.
중복된 자료만 출력된다는 것을 알 수 있다.
intersection() 함수 이용하여 결합하기
intersection() 함수는 intersection_update() 와 같은 기능을 한다.
차이점은 새로운 세트 데이터를 만든다는 점에서 차이가 있다.
print('----------')
vSet_Company = {"Blank Pink", "YG Ent.", "블랙핑크"}
vSet_Member = {"Blank Pink", "지수", "제니", "로제", "리사"}
vSet = vSet_Company.intersection(vSet_Member)
print("세트 Set intersection : ", type(vSet), len(vSet), vSet)
print('----------')
intersection() 함수나 intersection_update() 함수나 같은 기능이다.
intersection() 함수는 새로운 세트 데이터를 만든다는 점에서 차이가 있다.
symmetric_difference_update() 함수 이용하여 결합하기
서로 다른 세트 데이터를 결합했지만, 중복되지 않은 데이터만 출력하고 싶다면
symmetric_difference_update() 함수를 사용한다.
세트 데이터가 서로 결합은 되지만 중복된 값은 배제된다.
print('----------')
vSet_Company = {"Blank Pink", "YG Ent.", "블랙핑크"}
vSet_Member = {"Blank Pink", "지수", "제니", "로제", "리사"}
vSet_Company.symmetric_difference_update(vSet_Member)
print("세트 Set symmetric_difference_update : ", type(vSet_Company), len(vSet_Company), vSet_Company)
print('----------')
중복값인 Black Pink 란 단어는 제거되고 중복되지 않은 다른 값들은 정상적으로 결합되었다.
symmetric_difference() 함수 이용하여 결합하기
symmetric_difference() 함수는 symmetric_difference() 함수와 기능적으로 같다.
차이가 있다면 새로운 세트 데이터를 만들어 리턴한다.
이 함수 또한 중복된 값은 배제하고 결합된다.
print('----------')
vSet_Company = {"Blank Pink", "YG Ent.", "블랙핑크"}
vSet_Member = {"Blank Pink", "지수", "제니", "로제", "리사"}
vSet = vSet_Company.symmetric_difference(vSet_Member)
print("세트 Set symmetric_difference : ", type(vSet), len(vSet), vSet)
print('----------')
symmetric_difference_update() 함수를 사용했을 때와 같은 결과를 보여준다.
하지만, 두 세트 데이터가 중복값인 Black Pink 단어는 배제되었으며, 새로운 세트 데이터가 만들어 진 것을 알 수 있다.
'programming > Python' 카테고리의 다른 글
파이썬 딕셔너리 값 출력하기 Python Dictionary Acess Item Value (0) | 2021.09.15 |
---|---|
파이썬 딕셔너리 특징 키와 값으로 이루어진 데이터 집합 Python Dictionary key value pairs (0) | 2021.09.12 |
파이썬 세트 반복문 사용 아이템 값 출력하기 Python Loop Item (0) | 2021.09.08 |
파이썬 세트 아이템 값 삭제와 제거하기 Python Set Remove Item (0) | 2021.09.06 |
파이썬 세트 추가 Python Add Set Item (0) | 2021.09.05 |
댓글