Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬에서 튜플 요소가 모두 고유한지 확인하는 방법

튜플 안의 요소들이 중복 없이 모두 서로 다른 값인지 확인해야 하는 경우, setlen 메서드를 활용하면 간단하게 해결할 수 있습니다.

파이썬에는 set이라는 자료형이 기본으로 제공됩니다. 셋(set)은 중복된 요소를 허용하지 않고 고유한 값만 저장하는 특징을 가지고 있습니다.

또한 len 메서드는 인자로 전달된 객체의 길이(요소 개수)를 반환합니다. 이 두 가지 성질을 조합하면 튜플의 고유성 여부를 손쉽게 판별할 수 있습니다.

동작 원리는 다음과 같습니다. 튜플을 셋으로 변환하면 중복 요소가 자동으로 제거되므로, 변환된 셋의 길이와 원본 튜플의 길이를 비교했을 때 두 값이 같다면 모든 요소가 고유하다는 의미입니다.

예제 코드

my_tuple_1 = (11, 14, 54, 0, 58, 41)

print("The tuple is : ")
print(my_tuple_1)

my_result = len(set(my_tuple_1)) == len(my_tuple_1)

print("Is the tuple distinct ? ")
print(my_result)

실행 결과

The tuple is :
(11, 14, 54, 0, 58, 41)
Is the tuple distinct ?
True

코드 설명

  • 요소들을 담은 튜플을 정의하고, 콘솔에 출력합니다.
  • 튜플을 set()으로 변환한 뒤 그 길이를 구하고, 원본 튜플의 길이도 함께 구합니다.
  • == 연산자를 사용해 두 길이를 비교합니다.
  • 비교 결과(불리언 값)를 변수에 할당합니다.
  • 결과를 콘솔에 출력합니다. 두 길이가 같으면 True, 중복이 있어 다르면 False가 반환됩니다.

이 방법은 시간 복잡도 O(n)으로 매우 효율적이며, 숫자뿐 아니라 문자열 등 해시 가능한(hashable) 모든 요소를 가진 튜플에 동일하게 적용할 수 있다는 장점이 있습니다.