본문 바로가기
python

python - 집합 자료형, 교집합, 합집합, 차집합

by orangecode 2022. 5. 2.
728x90
집합 자료형

집합(set)은 집합에 관련된 것을 쉽게 처리하기 위한 자료형이다.

 

집합 자료형은 set 키워드를 이용해 만들 수 있다.

 

### 집합 자료형
# 집합 자료형 만들기

a = set([1,3,5])
a

b = set("List")
b

 

집합 자료형의 특징

  1) 중복을 허용하지 않음

  2) 순서가 없음(Unordered)

 

set 자료형은 순서가 없기에, indexing으로 값을 얻을 수 없다.

 

set 자료형에 저장된 값을 인덱싱으로 접근하려면 list나 tuple로 변환한 뒤 접근해야한다.

# 위 코드 생략
# set 자료형 indexing
l1 = list(a)
l1

t1 = tuple(a)
t1

 

교집합, 합집합, 차집합 구하기

1) 교집합 : &, intersection()

# set 자료형 만들기
s1 = set([1, 2, 3, 4, 5])
s2 = set([3, 4, 5, 6, 7])

# 1. 교집합
# & : 교집합 기호
s1 & s2

# intersection : 교집합 함수
s1.intersection(s2)
s2.intersection(s1)

 

2) 합집합 : | , union()함수

## 2. 합집합
# | : 합집합 기호
s1 | s2

# union() : 합집함 함수
s1.union(s2)
s2.union(s1)

 

3) 차집합 : - , difference()

## 3. 차집합
# - : 차집합 기호
s1 - s2
s2 - s1

# difference() : 차집합 함수
s1.difference(s2)
s2.difference(s1)

 

집합(set)자료형 값 추가(1개 / 여러개), 제거하기

1) 값 1개 추가하기 : add(추가할 값) 함수

## 깂 1개 추가하기
s1 = set([1, 2, 3, 4, 5])
s1.add(16)
s1

 

2) 값 여러개 추가하기 : update(추가할 값) 함수

## 값 여러개 추가하기
s1 = set([1, 2, 3, 4, 5])
s1. update([15, 46, 94])
s1

 

3) 특정 값 제거하기 : remove(제거할 값) 함수

## 특정값 제거하기
s1 = set([1, 2, 3, 4, 5])
s1.remove(4)

s1
반응형

댓글