본문 바로가기

Language/Python

파이썬 집합 자료형(Set)

반응형

파이썬 3.8부터는 Dictionary에서 순서가 보장된다. - 2021.04.07 수정 

 

파이썬에서는 집합을 처리하기 위한 집합 자료형을 제공하고 있다. 집합은 기본적으로 리스트 혹은 문자열을 이용해서 만들 수 있는데 다음과 같은 특징이 있다.

1. 중복을 허용하지 않는다.

2. 순서가 없다.

리스트나 튜플은 순서가 있기 때문에 인덱싱을 통해 값을 얻을 수 있었지만 사전 자료형과 집합 자료형은 순서가 없기 때문에 인덱싱으로 값을 얻을 수 없다. 이와 더불어 집합 자료형은 키가 존재하지 않고 값 데이터만을 담게 된다. 

집합 자료형을 초기화할 때는 set() 함수를 이용하거나 중괄호( { } ) 안에 각 원소를 콤마(,)를 기준으로 구분해서 초기화할 수 있다.

 

data = set({1, 2, 3, 4, 5})
print(data)

data = {1, 1, 2, 3, 4, 4, 5}
print(data)



// 출력
// {1, 2, 3, 4, 5}
// {1, 2, 3, 4, 5}

 

집합 자료형으로 집합 연산(합집합, 교집합, 차집합)을 사용할 수 있다.

data1 = {1, 2, 3, 4, 5}
data2 = {3, 4, 5, 6, 7}

print(data1 | data2)
print(data1 & data2)
print(data1 - data2)


// 결과
// {1, 2, 3, 4, 5, 6, 7}
// {3, 4, 5}
// {1, 2}

 

집합 자료형는 추가 함수(add), 업데이트 함수 (update), 제거 함수(remove)가 있다.

 

data = {1, 2, 3}
print(data)

data.add(4)
print(data)

data.update({5, 6})
print(data)

data.remove(3)
print(data)


// 결과
// {1, 2, 3}
// {1, 2, 3, 4}
// {1, 2, 3, 4, 5, 6}
// {1, 2, 4, 5, 6}

 

반응형

'Language > Python' 카테고리의 다른 글

파이썬 반복문  (0) 2020.12.14
파이썬의 특별한 부등식  (0) 2020.12.14
파이썬 사전 자료형(Dictionary)  (0) 2020.12.14
파이썬 튜플(tuple)  (0) 2020.12.14
파이썬 문자열  (0) 2020.12.13