반응형
Notice
Recent Posts
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Today
Total
관리 메뉴

오식랜드

[python] 집합 set 본문

dev-log/python

[python] 집합 set

개발하는 오식이 2023. 1. 4. 21:01
반응형

세트의 특징

  • 중복을 허용하지 않음
  • 데이터의 순서를 보장하지 않음
  • 중괄호로 감싸고 컴마로 구분
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) # {'유재석', '양세형'}

 

 

출처 : https://nadocoding.tistory.com/

반응형

'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