본문 바로가기
Python

[python] 집합 자료형(set())

by 남민섭 2023. 3. 7.
728x90
반응형

집합 자료형은

파이썬 2.3부터 지원 시작

집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형

 

그리고!!!!!!! 중복을 허용하지 않음!!!!!!!!! 또 순서가 없다(인덱싱 안됨)

실습

s1 = set([1, 2, 3, 4, 5])
s2 = set("hello")
print(s1)
print(s2)
print(list(s2))

#{1, 2, 3, 4, 5}
#{'h', 'l', 'e', 'o'}
#['h', 'l', 'e', 'o']

s3 = set([1, 2, 1, 3, 5, 4, 5, 2]) 
print(s3)  #중복불가
#{1, 2, 3, 4, 5}

l3 = list(s3)
print(l3)
#[1, 2, 3, 4, 5]

 


집합 자료형 관련 함수

 

1. 교집합

첫번째: 집합1 & 집합2

두번째: 집합1.intersection(집합2)

numberset1 = set([1, 2, 3, 4, 5, 6])
numberset2 = set([4, 5, 6, 7, 8, 9])

print(numberset1 & numberset2)
print(numberset1.intersection(numberset2))

#{4, 5, 6}
#{4, 5, 6}

 

2. 합집합 

집합을 합쳐서 리턴해줌(중복해서 포함되는 값은 하나씩만 들어감)

 

첫번째: 집합 1 | 집합2 

두번째: 집합1.union(집합2)

numberset1 = set([1, 2, 3, 4, 5, 6])
numberset2 = set([4, 5, 6, 7, 8, 9])

print(numberset1 | numberset2)
print(numberset1.union(numberset2))

#{1, 2, 3, 4, 5, 6, 7, 8, 9}
#{1, 2, 3, 4, 5, 6, 7, 8, 9}

 

3. 차집합

첫번째:집합1 - 집합2

두번째:집합1.difference(집합2)

numberset1 = set([1, 2, 3, 4, 5, 6])
numberset2 = set([4, 5, 6, 7, 8, 9])

print(numberset1 - numberset2)
print(numberset1.difference(numberset2))

#{1, 2, 3}
#{1, 2, 3}

 

4. 값 하나 추가하기 add()

구문)

집합.add(value)

numberset1 = set([1, 2, 3, 4, 5, 6])

numberset1.add(20)
print(numberset1)

#{1, 2, 3, 4, 5, 6, 20}

 

5. 값 여러개 추가하기 update

구문) 

집합.update([4,5,6])

(add 후 update해주면 순서대로 배치가 안됨. 원래 이 친구들은 순서 없다함 신경쓰지말것)

numberset1 = set([1, 2, 3, 4, 5, 6])

numberset1.update([100, 200, 300])
print(numberset1)

#{1, 2, 3, 4, 5, 6, 100, 200, 300}

 

6. 특정 값 제거하기 remove()

구문) 

집합.remove(value)

numberset1 = set([1, 2, 3, 4, 5, 6, 100, 200, 300, 20])

numberset1.remove(100)
print(numberset1)

#{1, 2, 3, 4, 5, 6, 200, 300, 20}

 

728x90
반응형

'Python' 카테고리의 다른 글

[python]제어문 - 조건문  (0) 2023.03.07
[python]bool 자료형  (0) 2023.03.07
[python] 딕셔너리(dictionary) 자료형  (0) 2023.03.07
[python] 튜플(tuple) 자료형  (0) 2023.03.06
[python]리스트 자료형  (0) 2023.03.06

댓글