Python 에서 리스트의 고유 요소 확인 방법

PythonBeginner
지금 연습하기

소개

이 랩에서는 Python 에서 리스트가 고유한 요소만 포함하는지 확인하는 방법을 배우게 됩니다. 이 랩은 Python 집합 (set) 을 사용하여 리스트 내의 고유한 요소를 정의하고 식별하는 데 중점을 둡니다.

이 랩은 unique_elements.py라는 Python 스크립트를 생성하여 집합이 어떻게 작동하는지 보여주는 과정을 안내합니다. 중복된 요소가 있는 리스트를 생성하고, 중복을 제거하기 위해 이를 집합으로 변환한 다음, 원래 리스트와 결과로 생성된 고유 요소 집합을 모두 출력합니다. 원래 리스트와 집합을 비교함으로써 집합을 사용하여 고유 요소를 식별하고 추출하는 방법을 이해하게 됩니다.

고유 요소 정의

이 단계에서는 Python 집합을 사용하여 고유 요소를 정의하는 방법을 배우게 됩니다. 집합은 Python 의 기본적인 데이터 구조로, 고유하고 정렬되지 않은 요소만 저장합니다. 즉, 중복된 요소를 집합에 추가하려고 하면 단순히 무시됩니다. 집합을 이해하는 것은 리스트에서 중복을 제거하거나 컬렉션에 요소가 있는지 확인하는 것과 같은 작업에 매우 중요합니다.

집합이 어떻게 작동하는지 보여주는 Python 스크립트를 생성하는 것으로 시작해 보겠습니다.

  1. WebIDE 를 엽니다. 왼쪽에는 파일 탐색기가, 오른쪽에는 텍스트 편집기가 표시됩니다.

  2. 파일 탐색기에서 프로젝트 디렉토리 /home/labex/project로 이동합니다.

  3. 파일 탐색기에서 마우스 오른쪽 버튼을 클릭하고 "New File"을 선택하여 unique_elements.py라는 새 파일을 생성합니다.

  4. 편집기에서 unique_elements.py를 열고 다음 코드를 추가합니다.

## Create a list with duplicate elements
my_list = [1, 2, 2, 3, 4, 4, 5]

## Convert the list to a set to remove duplicates
my_set = set(my_list)

## Print the original list and the set
print("Original List:", my_list)
print("Set of Unique Elements:", my_set)

이 스크립트는 먼저 중복된 요소를 포함하는 my_list라는 리스트를 생성합니다. 그런 다음 이 리스트를 my_set이라는 집합으로 변환합니다. set() 함수는 자동으로 중복된 요소를 제거하고 고유한 값만 남깁니다. 마지막으로, 스크립트는 원래 리스트와 고유 요소 집합을 모두 출력합니다.

  1. unique_elements.py 파일을 저장합니다.

  2. 이제 터미널에서 다음 명령을 사용하여 스크립트를 실행합니다.

python unique_elements.py

다음 출력을 볼 수 있습니다.

Original List: [1, 2, 2, 3, 4, 4, 5]
Set of Unique Elements: {1, 2, 3, 4, 5}

보시다시피, 집합 my_set은 원래 리스트 my_list의 고유 요소만 포함합니다. 집합은 정렬되지 않으므로 집합의 요소 순서는 원래 리스트와 다를 수 있습니다.

이 예제는 Python 에서 고유 요소를 정의하기 위한 집합의 기본 사용법을 보여줍니다. 다음 단계에서는 집합을 사용한 더 고급 연산을 탐구할 것입니다.

len() 과 len(set()) 비교

이 단계에서는 len() 함수를 사용하여 리스트의 요소 수를 결정하고, 동일한 리스트에서 생성된 집합의 고유 요소 수와 비교하는 방법을 배우게 됩니다. 이는 리스트에서 중복된 요소의 수를 식별하는 데 유용한 기술입니다.

len() 함수는 객체 내 항목의 수를 반환합니다. 리스트에 적용하면 중복을 포함한 총 요소 수를 반환합니다. 집합에 적용하면 고유 요소의 수를 반환합니다.

이전 단계에서 생성한 Python 스크립트를 수정하여 원래 리스트와 고유 요소 집합의 길이를 비교해 보겠습니다.

  1. 이전 단계에서 생성한 unique_elements.py 파일을 WebIDE 에서 엽니다. /home/labex/project에 위치해 있습니다.

  2. unique_elements.py 파일을 수정하여 다음 코드를 포함합니다.

## Create a list with duplicate elements
my_list = [1, 2, 2, 3, 4, 4, 5]

## Convert the list to a set to remove duplicates
my_set = set(my_list)

## Print the length of the original list and the set
print("Length of Original List:", len(my_list))
print("Length of Set of Unique Elements:", len(my_set))

## Calculate the number of duplicate elements
num_duplicates = len(my_list) - len(my_set)
print("Number of Duplicate Elements:", num_duplicates)

이 스크립트에서는 원래 리스트와 고유 요소 집합의 길이를 계산하고 출력하는 코드를 추가했습니다. 그런 다음 리스트의 길이에서 집합의 길이를 빼서 중복된 요소의 수를 계산합니다.

  1. unique_elements.py 파일을 저장합니다.

  2. 터미널에서 다음 명령을 사용하여 스크립트를 실행합니다.

python unique_elements.py

다음 출력을 볼 수 있습니다.

Length of Original List: 7
Length of Set of Unique Elements: 5
Number of Duplicate Elements: 2

이 출력은 원래 리스트에 7 개의 요소가 있고 고유 요소 집합에 5 개의 요소가 있음을 보여줍니다. 이러한 길이의 차이 (7 - 5 = 2) 는 원래 리스트에 2 개의 중복된 요소가 있음을 나타냅니다.

이 예제는 len() 함수를 집합과 함께 사용하여 리스트에서 중복된 요소를 식별하고 정량화하는 방법을 보여줍니다.

set() 변환 확인

이 단계에서는 리스트를 집합으로 변환하고 길이를 비교하여 리스트에 고유 요소만 포함되어 있는지 확인하는 방법을 배우게 됩니다. 이는 리스트에 중복된 요소가 있는지 확인하는 간결하고 효율적인 방법입니다.

핵심 아이디어는 리스트에 중복된 요소가 있는 경우, 집합으로 변환하면 요소 수가 줄어든다는 것입니다. 집합은 고유한 값만 저장하기 때문입니다. 원래 리스트의 길이가 해당 리스트에서 생성된 집합의 길이와 같으면 리스트에는 고유 요소만 포함되어 있습니다.

이전 단계에서 생성한 Python 스크립트를 수정하여 set 변환을 사용하여 리스트에 고유 요소만 포함되어 있는지 확인해 보겠습니다.

  1. 이전 단계에서 생성한 unique_elements.py 파일을 WebIDE 에서 엽니다. /home/labex/project에 위치해 있습니다.

  2. unique_elements.py 파일을 수정하여 다음 코드를 포함합니다.

## Create a list with or without duplicate elements
my_list = [1, 2, 3, 4, 5]  ## Example with unique elements
## my_list = [1, 2, 2, 3, 4, 5]  ## Example with duplicate elements

## Convert the list to a set
my_set = set(my_list)

## Check if the list contains only unique elements
if len(my_list) == len(my_set):
    print("The list contains only unique elements.")
else:
    print("The list contains duplicate elements.")

이 스크립트에서는 먼저 my_list 리스트를 정의합니다. 고유 요소가 있는 예제 또는 중복 요소가 있는 예제를 해당 줄을 주석 처리/주석 해제하여 사용할 수 있습니다. 그런 다음 리스트를 집합으로 변환하고 리스트와 집합의 길이를 비교합니다. 길이가 같으면 리스트에 고유 요소만 포함되어 있음을 나타내는 메시지를 출력하고, 그렇지 않으면 리스트에 중복 요소가 포함되어 있음을 나타내는 메시지를 출력합니다.

  1. unique_elements.py 파일을 저장합니다.

  2. 터미널에서 다음 명령을 사용하여 스크립트를 실행합니다.

python unique_elements.py

고유 요소가 있는 예제 (my_list = [1, 2, 3, 4, 5]) 를 사용하는 경우 다음 출력을 볼 수 있습니다.

The list contains only unique elements.

중복 요소가 있는 예제 (my_list = [1, 2, 2, 3, 4, 5]) 를 사용하는 경우 다음 출력을 볼 수 있습니다.

The list contains duplicate elements.

이 예제는 set 변환을 사용하여 리스트에 고유 요소만 포함되어 있는지 효율적으로 확인하는 방법을 보여줍니다. 이 기술은 데이터 처리 및 유효성 검사 작업에 자주 사용됩니다.

요약

이 Lab 에서는 Python 집합을 사용하여 고유 요소를 정의하는 방법을 배웠습니다. 이 Lab 에서는 집합의 작동 방식을 보여주기 위해 unique_elements.py라는 Python 스크립트를 생성했습니다. 중복된 요소가 있는 리스트를 생성한 다음 set() 함수를 사용하여 집합으로 변환했습니다. 이 함수는 자동으로 중복된 요소를 제거하고 고유 값만 남깁니다.

그런 다음 스크립트는 원래 리스트와 고유 요소 집합을 모두 출력하여 집합을 사용하여 리스트에서 고유 값을 추출하는 방법을 보여주었습니다. 집합의 순서가 집합의 정렬되지 않은 특성으로 인해 원래 리스트와 다를 수 있음을 확인했습니다.