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

파이썬(Python) – 튜플 리스트에서 고유 값 필터링하기

튜플로 이루어진 리스트에서 중복을 제거하고 고유한 값의 튜플만 추출해야 하는 경우가 종종 있습니다. 파이썬에서는 이러한 작업을 'set''list' 메서드를 활용하여 매우 간단하게 처리할 수 있습니다.

예제

아래는 실제 구현 방법을 보여주는 예제입니다.

my_list = [(42, 51), (46, 71), (14, 25), (26, 91), (56, 0), (11, 1), (99,102)]
print("The list of tuple is :")
print(my_list)
my_list.sort()
print("The list after sorting is :")
print(my_list)
my_result = list(set(my_list))
print("The result is :")
print(my_result)

출력 결과

The list of tuple is :
[(42, 51), (46, 71), (14, 25), (26, 91), (56, 0), (11, 1), (99, 102)]
The list after sorting is :
[(11, 1), (14, 25), (26, 91), (42, 51), (46, 71), (56, 0), (99, 102)]
The result is :
[(11, 1), (26, 91), (42, 51), (46, 71), (56, 0), (14, 25), (99, 102)]

코드 설명

  • 정수형 튜플로 구성된 리스트를 정의한 뒤 콘솔에 출력합니다.

  • 'sort()' 메서드를 사용하여 리스트를 오름차순으로 정렬합니다.

  • 정렬된 리스트를 콘솔에 다시 출력합니다.

  • 리스트를 set(집합)으로 변환하여 중복 값을 제거한 후, 다시 list로 변환합니다. 집합은 중복을 허용하지 않는 자료구조이므로 이 과정에서 고유한 값만 남게 됩니다.

  • 최종 결과를 변수에 할당합니다.

  • 결과를 콘솔에 출력합니다.

참고 사항

주의: set은 요소의 순서를 보장하지 않기 때문에 변환 후 리스트의 순서가 달라질 수 있습니다. 위 출력 결과에서 정렬된 순서와 결과 순서가 다른 이유도 바로 이 때문입니다. 만약 원래의 순서를 유지하면서 중복만 제거하고 싶다면 dict.fromkeys()를 활용하는 방법도 유용합니다.

my_result = list(dict.fromkeys(my_list))  # 원래 순서 유지 + 중복 제거