프로그래밍/Python

[Python] 파이썬 set, 중복 없이 정리하기

rrruu 2023. 9. 26. 23:07
반응형

파이썬은 다양한 자료형을 제공합니다. 이 중에서 set은 중복을 허용하지 않는 자료형입니다.

set은 다음과 같은 특징을 가지고 있습니다.

  • 중복을 허용하지 않는다.
  • 순서가 없다.
  • 객체의 키를 기반으로 한다.

set의 생성

set은 set() 함수를 사용하여 생성합니다. set() 함수의 인자로 리스트, 문자열, 튜플, 다른 set을 지정할 수 있습니다.

# 리스트로 set 생성
s1 = set([1, 2, 3, 1, 2])
print(s1)

# 문자열로 set 생성
s2 = set("hello")
print(s2)

# 튜플로 set 생성
s3 = set((1, 2, 3))
print(s3)

# 다른 set으로 set 생성
s4 = set({1, 2, 3})
print(s4)

결과

{1, 2, 3}
{'h', 'e', 'l', 'o'}
{1, 2, 3}
{1, 2, 3}

 

set의 속성

set은 다음과 같은 속성을 가지고 있습니다.

  • len(): set의 요소 수를 반환한다.
  • add(): set에 요소를 추가한다.
  • remove(): set에서 요소를 제거한다.
  • pop(): set에서 임의의 요소를 제거하고 반환한다.
  • isdisjoint(): 두 set이 공통 요소가 없는지 확인한다.
  • issubset(): 한 set이 다른 set의 부분집합인지 확인한다.
  • issuperset(): 한 set이 다른 set의 상위집합인지 확인한다.

set의 연산

set은 다음과 같은 연산을 수행할 수 있습니다.

  • 합집합: | 연산자를 사용하여 두 set의 합집합을 구한다.
  • 교집합: & 연산자를 사용하여 두 set의 교집합을 구한다.
  • 차집합: - 연산자를 사용하여 한 set에서 다른 set의 차집합을 구한다.
  • 대칭차집합: ^ 연산자를 사용하여 두 set의 대칭차집합을 구한다.
s1 = set([1, 2, 3])
s2 = set([2, 3, 4])

# 합집합
print(s1 | s2)

# 교집합
print(s1 & s2)

# 차집합
print(s1 - s2)

# 대칭차집합
print(s1 ^ s2)

 

결과

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

 

set은 중복을 허용하지 않는 자료형으로, 다양한 용도로 활용될 수 있습니다.

파이썬을 사용하여 데이터를 처리할 때 set을 잘 활용하면 효율적인 코드를 작성할 수 있습니다.

반응형