오식랜드
[python] 집합 set 본문
반응형
세트의 특징
- 중복을 허용하지 않음
- 데이터의 순서를 보장하지 않음
- 중괄호로 감싸고 컴마로 구분
my_set = {1, 2, 3, 3, 3} # 중복을 허용하지 않으므로 3은 1번만 들어감
print(my_set) # {1, 2, 3}
리스트와 set()
중괄호 대신 set() 를 이용하는 방법도 있습니다
my_list = set([1, 2, 3, 3, 3])
print(my_list) # {1, 2, 3}
교집합 구하기
java와 python을 둘 다 할 수 있는 개발자를 찾기 위해 교집합을 구해보자
- & 기호
- intersection() 함수
java = {"유재석", "김태호", "양세형"} # 자바 개발자 집합
python = set(["유재석", "박명수"]) # 파이썬 개발자 집합
# 교집합 (java 와 python 을 모두 할 수 있는 개발자)
print(java & python) # {'유재석'}
print(java.intersection(python)) # {'유재석'}
합집합 만들기
- | 기호
- union() 함수
자바 또는 파이썬 중 하나라도 다룰 줄 아는 개발자를 출력해보겠습니다.
이 때 두 집합에 공통으로 있는 값(예제에서는 유재석씨) 은 중복을 허용하지 않으므로 1번만 출력됩니다.
# 합집합 (java 또는 python 을 할 수 있는 개발자)
print(java | python) # {'박명수', '유재석', '김태호', '양세형'}
print(java.union(python)) # {'박명수', '유재석', '김태호', '양세형'}
차집합 만들기
개발팀 인력들을 대상으로 파이썬 교육이 시행된다고 합니다.
파이썬을 이미 할 줄 아는 분들은 또 배울 필요는 없을테니, 자바만 할 줄 아는 인력들만 확인해보겠습니다.
이 때는 차집합을 구하면 되겠습니다.
-
- 기호
- difference() 함수
# 차집합 (java 는 할 수 있지만 python 은 할 줄 모르는 개발자)
print(java - python) # {'양세형', '김태호'}
print(java.difference(python)) # {'양세형', '김태호'}
세트에 추가하기
python.add("김태호")
print(python) # {'박명수', '유재석', '김태호'}
세트에서 제거하기
java.remove("김태호")
print(java) # {'유재석', '양세형'}
반응형
'dev-log > python' 카테고리의 다른 글
[python] 조건문 (0) | 2023.01.04 |
---|---|
[python] list와 set 데이터타입 변경 (0) | 2023.01.04 |
[python] 사전 Dictionary (0) | 2023.01.04 |
[python] 리스트 List (0) | 2023.01.04 |
[python] 문자열 (0) | 2022.12.14 |
Comments