Python/Python 기초

파이썬 집합 자료형 set 사용하기, 관련함수

티멀 2022. 4. 27. 11:01
728x90
반응형

집합은 리스트, 문자열을 사용하여 만들 수 있다.

집합은 아래의 특징을 가진다.

  • 중복을 허용하지 않음
  • 순서가 없음

리스트와 튜플과는 다르게 순서가 없기 때문에 오직 키를 조회하여 값을 받아낼 수 있다. 인덱싱을 사용해서 값을 받는 것은 불가능.

 

집합 자료형으로 초기화 시 아래의 코드를 입력하면 된다.

a = {1,2,3,3,3,3}
b = set([1,2,3,3,3,3])
print(a)
print(b)

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

 

집합 자료형을 연산할 때 아래의 기호로 연산한다.

  • 합집합 : |
  • 교집합 : &
  • 차집합 : -

아래는 예시코드. 

* 차집합은 기준이 다르면 값이 다르게 나오기 때문에 주의해야 한다.

a = {1,2,3,4,5}
b = {3,4,5,6,7}

print(a | b)
print(a & b)
print(a - b)
print(b - a)

{1, 2, 3, 4, 5, 6, 7}
{3, 4, 5}
{1, 2}
{6, 7}

 

관련함수

 

  • add : 값을 추가할 때
  • update : 여러개의 값을 추가할 때
  • remove : 특정한 값을 제거할 때

add와 remove의 시간복잡도는 array와는 다르게 O(1)이다. *즉 매우 짧다는 의미

 

a = {1,2,3}

a.add(4)
print(a)
a.update([5,6,7])
print(a)
a.remove(1)
print(a)

{1, 2, 3, 4}
{1, 2, 3, 4, 5, 6, 7}
{2, 3, 4, 5, 6, 7}

 

728x90
반응형