집합은 중복이 불가능하고 순서가 없습니다.
집합은 중복을 허용하지 않기 때문에 중복된 내용은 한 번만 표기됩니다.
my_set = {1,2,3,3,3}
print(my_set) # {1,2,3}
java와 python을 할 줄 아는 개발자라는 예제를 통해 집합의 다양한 기능을 알아봅시다.
먼저 java를 할 줄 아는 개발자 집합과 python을 할 줄 아는 개발자의 집합을 생성합니다.
java = {"유재석", "김태호", "양세형"}
python = set(["유재석", "박명수"]) # list로 먼저 생성하고 앞에 set으로 감싸줘서 집합으로 변환
교집합 & , intersection
교집합을 사용하면 두 집합에 모두 포함된 내용을 출력할 수 있습니다.
교집합은 &를 사용하거나 .intersection()을 사용하면 됩니다.
# 교집합 (java와 python을 모두 할 수 있는 개발자
print(java & python) # {'유재석'}
print(java.intersection(python)) # {'유재석'}
합집합 | , union
합집합을 사용하면 두 집합의 내용을 모두 출력하되, 중복은 한 번만 나타납니다.
합집합은 | 를 사용하거나 .union()을 사용하면 됩니다.
# 합집합 (java 할 수 있거나 python 할 수 있는 개발자)
print(java | python) # {'유재석','양세형','김태호','박명수'}
print(java.union(python)) # {'유재석','양세형','김태호','박명수'} / 순서가 없음 무작위
차집합 - , difference
차집합을 사용하면 기준이 되는 집합에서 다른 집합의 내용을 뺄 수 있습니다.
차집합은 - 를 사용하거나 .diffence()를 사용하면 됩니다.
# 차집합 (java할 수 있지만 python은 할 줄 모르는 개발자)
print(java - python) # {'양세형','김태호'}
print(java.difference(python)) # {'양세형','김태호'}
add : 집합 내용 추가
집합에 내용을 추가하려면 add를 사용하면 됩니다.
# python 할 줄 아는 사람이 늘어남
python.add("김태호")
print(python) # {'유재석','김태호','박명수'}
remove : 집합 내용 제거
집합의 내용을 제거하려면 remove를 사용하면 됩니다.
# java를 잊었어요
java.remove("김태호")
print(java) # {'유재석','양세형'}
'Python' 카테고리의 다른 글
[파이썬 Python] if (0) | 2022.12.05 |
---|---|
[파이썬 Python] 자료구조의 변경 (0) | 2022.12.05 |
[파이썬 Python] 튜플 (0) | 2022.12.05 |
[파이썬 Python] 사전 Dictionary (0) | 2022.12.05 |
[파이썬 Python] 리스트 (0) | 2022.12.05 |